NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!

Diskuze – Lekce 6 - Zapouzdření atributů podrobně v Pythonu

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Barbora Zdvihalová:27. června 19:01

Ahoj, muzete mi prosim vysvetlit, kdy se pouziva

self.znacka = znacka
self.model = model

a kdy

self.znacka = None
self.model = None

Na cem to zavisi, jaky je rozdil a jake jsou dalsi moznosti? Dekuji moc.

 
Odpovědět
27. června 19:01
Avatar
DarkCoder
Člen
Avatar
Odpovídá na Barbora Zdvihalová
DarkCoder:27. června 20:04

Kdy se používá self.znacka = znacka

Tohle používáš, když ti někdo (uživatel, volající kód) předává hodnoty při vytváření objektu:

class Auto:
    def __init__(self, znacka, model):
        self.znacka = znacka
        self.model = model

A pak použiješ:

a = Auto("Škoda", "Octavia")

self.znacka bude "Škoda", self.model bude "Octavia" — hodnoty si přebírá z argumentů

Kdy se používá self.znacka = None

Tohle používáš, když zatím žádnou hodnotu nemáš, ale chceš si připravit atribut, aby existoval.

class Auto:
    def __init__(self):
        self.znacka = None
        self.model = None

Použití:

a = Auto()
a.znacka = "Toyota"
a.model = "Corolla"

Hodnoty přiřadíš později, ne při vytvoření objektu.

Co dalšího?

Výchozí hodnoty v konstruktoru:

def __init__(self, znacka=None, model=None):
    self.znacka = znacka
    self.model = model

Teď můžeš vytvořit objekt s nebo bez údajů:

a = Auto()                           # znacka = None, model = None
b = Auto("Ford", "Focus")            # znacka = "Ford", model = "Focus"

Použití None je běžné, pokud:

  • hodnoty zatím nemáš (např. načítáš z databáze později),
  • chceš označit "prázdný" nebo "nedefinovaný" stav.
Odpovědět
27. června 20:04
"I ta nejlepší poučka postrádá na významu, není-li patřičně předána." - DarkCoder
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 12.