Seite 1 von 2
Verfasst: Sonntag 31. Dezember 2006, 00:49
von sape
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
Verfasst: Sonntag 31. Dezember 2006, 10:07
von EnTeQuAk
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:
Code: Alles auswählen
class Test:
def __init__(self):
self.test = self.get_test()
def get_test(self):
self.test = 'DADA'
return self.test
Methode2:
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
Methode3
Code: Alles auswählen
class Test:
def __init__(self):
self.test = '' # oder None
self.get_test()
def get_test(self):
self.test = 'DADA'
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
Verfasst: Sonntag 31. Dezember 2006, 11:58
von Leonidas
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.
Verfasst: Sonntag 31. Dezember 2006, 16:21
von Y0Gi
An dieser Stelle sei der Artikel
Getters/Setters/Fuxors eingeworfen, ein *absolutes* Must-Read!
Verfasst: Sonntag 31. Dezember 2006, 16:30
von EnTeQuAk
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
Verfasst: Sonntag 31. Dezember 2006, 16:57
von BlackJack
EnTeQuAk hat geschrieben:Die einen Definieren sofort und weisen dann zu die andere weisen in der definition zu usw....
Man weist *immer* in der Definition zu. Geht gar nicht anders da es Python keine (Typ)Deklarationen gibt.
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.