Python Academy · leksjon

Klasser og __init__-metoden

Definer klasser, opprett objekter og initialiser attributter.

Leksjon 1 av 413 trinn

Klasser og __init__-metoden er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 4 leksjoner.

Definere en klasse

Bruk nøkkelordet class til å definere en klasse. Etter konvensjonen skrives klassenavn med CapWords.

class Dog:
    pass

fido = Dog()
print(type(fido))  # <class '__main__.Dog'>

Metoden __init__

__init__ kalles automatisk når et objekt opprettes. Bruk den til å konfigurere instansattributter.

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

fido = Dog("Fido", "Labrador")
print(fido.name)   # Fido

self forklart

self viser til den gjeldende instansen. Den må være den første parameteren i hver instansmetode. Python sender den inn automatisk.

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

c = Counter()
c.increment()
print(c.count)  # 1

Flere instanser

Hver instans har sin egen kopi av instansattributtene som angis i __init__.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x)  # 1 5

Standardverdier for parametere i __init__

Gi parametere i __init__ standardverdier for å gjøre noen argumenter valgfrie.

class Circle:
    def __init__(self, radius=1.0):
        self.radius = radius

c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius)  # 1.0 5

Instansmetoder

Metoder som er definert inne i en klasse, opererer på instansen via self.

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def area(self):
        return self.w * self.h

r = Rectangle(4, 5)
print(r.area())  # 20

Legge til attributter etter opprettelsen

Du kan legge til attributter i en instans etter at den er opprettet, men det er ryddigere å deklarere alle i __init__.

class Person:
    def __init__(self, name):
        self.name = name

p = Person("Alice")
p.age = 30      # added after creation
print(p.name, p.age)

Returverdien til __init__

__init__ må returnere None. Hvis den returnerer noe annet, oppstår en TypeError.

class Broken:
    def __init__(self):
        return 42   # TypeError!

# Correct
class OK:
    def __init__(self):
        self.value = 42
        # implicit return None

Kontrollere instanstypen

Bruk isinstance() for å kontrollere om et objekt er en instans av en klasse.

class Animal:
    pass

class Dog(Animal):
    pass

d = Dog()
print(isinstance(d, Dog))     # True
print(isinstance(d, Animal))  # True

Attributtet __dict__

Hver instans lagrer attributtene sine i en __dict__-ordbok.

class Book:
    def __init__(self, title, pages):
        self.title = title
        self.pages = pages

b = Book("Python 101", 300)
print(b.__dict__)  # {'title': 'Python 101', 'pages': 300}

Slette attributter

Bruk del til å fjerne et attributt fra en instans under kjøring.

class Config:
    def __init__(self):
        self.debug = True
        self.version = "1.0"

cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug"))  # False

Hurtigsjekk

Hva er formålet med self i Python-klassers metoder?

Oppsummering

Klasser er tegninger for objekter. __init__ initialiserer instansattributter, self viser til det gjeldende objektet, og hver instans har sin egen attributtordbok.

Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Klasser og __init__-metoden» gratis?

Ja – hele teksten i «Klasser og __init__-metoden» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Klasser og __init__-metoden»?

Definer klasser, opprett objekter og initialiser attributter. Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Klasser og __init__-metoden»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Klasser og __init__-metoden
  2. Instansattributter kontra klasseattributter
  3. Instansmetoder og self
  4. Magiske metoder: __str__ og __repr__
← Tilbake til Python Academy