Diskuze: Vysvetleni kodu z tutorialu

Člen

Zobrazeno 8 zpráv z 8.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
def pridejUzivatele(self, jmeno, vek, registrovan):
u = Uzivatel(jmeno, vek, registrovan) # vytvori instanci tridy Uzivatel se zadanym jmenem a datem
# self je v pythonu zpusob jak se odkazovat na instanci tridy, ke ktere ta promenna uzivatel patri, tj. instance tridy Databaze
self.uzivatele.append(u)
Pouziti toho kodu bude zrejme takove:
db = Databaze()
db.pridejUzivatele('Jan', 'Novak', 'nejaky datum')
Jinak takovy detail smerem k tvurci tutorialu, dle stylistickych pravidel pythonu by se funkce, metody a promenne mely psat malymi pismeny se slovy oddelenymi podtrzitkem.
Dekuji za ochotu vysvetlit ale proc se musi vytvorit trida Uzivatel. Proc by nemohli tyhle atriuity byt(vek, jmeno, registeovan) primo ve tride databaze tohle mi neni jasny. Proc se proste musela vytvorit trida Uzivatel. Dekuji
Teoreticky by sis mohl mit v ramci databaze misto seznamu objektu, seznam slovniku, seznam seznamu, apod.
def pridejUzivatele(self, jmeno, vek, registrovan):
self.uzivatele.append({'jmeno': jmeno, 'vek':vek, 'registrovan': registrovan})
Ale pokud bys chtel mit treba pro uzivatele definovane nejake metody, jako treba tady je predefinovana metoda __str__, ktera rika jak bude vypadat vystup, kdyz pouzijes pro instanci u prikaz print(u), tak je objektovy pristup prehlednejsi.
Jinak u backendovych frameworku jako je Django nebo Flask, mas nekde
databazi, ke ktery se pripojis. Ten objekt, ktery to pripojeni zprostredkovava
ma sve metody na pridavani, mazani, upravovani veci v databazi. Ty mas napr.
nadefinovane tridy Uzivatel (pro uzivatelsky ucet), Post (pro prispevky).Tyto
tridy maji nejake svoje atributy, ktere se pak pres to spojeni s databazi
definovanym zpusobem prenaseji do samotne databaze.
Je proto asi vhodne ucit se to nejakym prakticky pouzivanym zpusobem, i kdyz
existuje spousta jinych moznosti.
Pavle diky za vysvetlebi do jiste miry si mi to vysvetlil a spis potvrdil. Ale porad jeste chyby vysvetleni proc se musela vytvorit trida Uzivatel() protpze kdyz udelam instanci tridy Uzivatel dejme tomu a =Uzivatel(argumenty) tak se do databaze neprida. Vytvori se pouze objekt neboki instance trida Uzivatel. Jesze jinak se zeptat proc je napred vytvorena trida Uzivatel a pak je pouzita v databazi
Predstav si to jako v realnym svete, nejdriv vytvoris formular (definice
tridy), pak ho vyplnis (instance tridy, objekt) a pak ho zalozis do kartoteky
(databaze).
Dokud nevis jak ma trida vypada, nemuzes ji instancovat, dokud ji neinstancujes,
nemuzes ji vlozit do databaze.
Diky konecne davam fajku
dekuji Pavle
Zobrazeno 8 zpráv z 8.