Huch, stimmt eigentlich. Bei solchen Sachen habe ich dann sowas gemacht in der Methode ``if self.filename != ''``. Aber die Methode mit None scheint mir die bessere Lösung. Naja, dann muss ich mal nun alles was so ist durch ``if self.filename is not None`` ersetzen.
Danke.
Und da es nun aktuell ist: Einen schönen rutsch ins neue Jahr wünsche ich euch allen
lg
sape
Frage zu Pythons OOP :)
Also ihr macht wohl gerne Nachtschichten
Ansonsten finde ich das, das eine schöne Disskussion war/ist
Merke schon, hier gibt es einige verschiedene Ansichtsweisen und verwendungsweisen. --- wäre eigentlich auch schlimm, wenn nicht oder?
Also ich habe mir jetzt folgende Sachen gemerkt, was hier einige machen:
Methiode1:
Methode2:
Methode3
Also ich bekenne mich jetzt einfach mal zur ersten oder zweiten kann mich da noch nicht so richtig entscheiden... --> zweitere könnte bei sehr großen Konstruktormethoden recht Lang und evtl. etwas unüberlichtlich werden - denke ich.
Eure Meinungen?
MfG EnTeQuAk
Ansonsten finde ich das, das eine schöne Disskussion war/ist
Merke schon, hier gibt es einige verschiedene Ansichtsweisen und verwendungsweisen. --- wäre eigentlich auch schlimm, wenn nicht oder?
Also ich habe mir jetzt folgende Sachen gemerkt, was hier einige machen:
Methiode1:
Code: Alles auswählen
class Test:
def __init__(self):
self.test = self.get_test()
def get_test(self):
self.test = 'DADA'
return self.test
Code: Alles auswählen
class Test:
def __init__(self):
self.test = self.get_test()
def get_test(self):
test = 'DADA' ## zuweisung irgenteiner Art - ansonsten gleich in ''return'' rein
return test
Code: Alles auswählen
class Test:
def __init__(self):
self.test = '' # oder None
self.get_test()
def get_test(self):
self.test = 'DADA'
Eure Meinungen?
MfG EnTeQuAk
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die erste Methode ist natürlich quatsch, in der wird in get_test self.test = 'DADA' gesetzt, self.test zurückgegeben um dann in __init__ nochmal gleich 'DADA' gesetzt zu werden. Doppelt gesetzt, ergo: Unnütz.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
An dieser Stelle sei der Artikel Getters/Setters/Fuxors eingeworfen, ein *absolutes* Must-Read!
sehr schöner Artikel.
Aber letzentlich ist das auch wieder ein klein wenig Geschmackssache.
Die einen Definieren sofort und weisen dann zu die andere weisen in der definition zu usw....
Danke! Danke! und einen guten Rutsch ins neue Jahr wünscht...
EnTeQuAk
Aber letzentlich ist das auch wieder ein klein wenig Geschmackssache.
Die einen Definieren sofort und weisen dann zu die andere weisen in der definition zu usw....
Danke! Danke! und einen guten Rutsch ins neue Jahr wünscht...
EnTeQuAk
Man weist *immer* in der Definition zu. Geht gar nicht anders da es Python keine (Typ)Deklarationen gibt.EnTeQuAk hat geschrieben:Die einen Definieren sofort und weisen dann zu die andere weisen in der definition zu usw....
Einen Namen an ein Objekt zu binden, nur um ein paar Zeilen später den gleichen Namen an das "richtige" Objekt zu binden, ist einfach unnötig. Welchen Typ man hinter dem Namen erwarten kann, steht ja hoffentlich schon ein paar Zeilen vorher in der Dokumentation.