Welcher der folgenden Fälle ist die Best Practice Möglichkeit, eine Instanzvariable in Python zu deklarieren. Gibt es eine typische Präferenz und was sind die Gründe dafür?wo Objektvariable deklarieren
Option 1 - Declare innerhalb __init__
class MyObject:
def __init__(self, arg):
self.variable_1 = self.method_1(arg)
def method_1(self, arg):
return(arg)
Option 2 - festzustellen, in anderen Verfahren
class MyObject:
def __init__(self, arg):
self.method_1(arg)
def method_1(self, arg):
self.variable_1 = arg
Diese rein ist, zu verstehen, wenn es ein Best-Practice-Weg, dies zu tun ist Andere Entwickler würden es bevorzugen, wenn sie Code überprüfen und erweitern.
Option 1. Sie sollten alle Attribute in "__init__" deklarieren, weil dort jemand nach ihnen sucht. –
Die allgemeine Regel in OOP (unabhängig von der Programmiersprache) ist der Konstruktor ist wie ein Zuweisungsoperator bedeutet in __init__ sollten wir die Werte der Instanzvariablen zuweisen. Also ich denke, wir sollten die Werte in __init__ zuweisen und Getter und Setter sollten davon getrennt werden. –
Ich entschuldige mich für pedantisch, aber Instanzvariablen sind nicht in Python deklariert. Sie [entstehen] (https://docs.python.org/3.3/tutorial/classes.html#instance-objects), wenn sie zum ersten Mal zugewiesen werden. Die Variablendeklaration existiert in Sprachen wie C++ und Java, nicht in Python. –