以下哪种情况是在python中声明实例变量的最佳实践方式。是否有典型的偏好,这有什么理由?在哪里声明对象变量
选项1 - __init__
class MyObject:
def __init__(self, arg):
self.variable_1 = self.method_1(arg)
def method_1(self, arg):
return(arg)
方案2中声明 - 声明在其他方法
class MyObject:
def __init__(self, arg):
self.method_1(arg)
def method_1(self, arg):
self.variable_1 = arg
这纯粹是为了了解是否有这样做的最佳实践方法其他开发人员更愿意在查看和扩展代码时看到。
选项1.你应该在'__init__'中声明所有的属性,因为它在哪里有人会寻找它们。 –
OOP中的一般规则(不考虑编程语言)是构造函数就像__init__中的赋值操作符意味着我们应该分配实例变量的值。所以我认为我们应该在__init__中赋值,getter和setter应该与它分开。 –
我为迂腐而道歉,但实例变量没有在Python中声明。当它们首次被分配时,它们[弹出](https://docs.python.org/3.3/tutorial/classes.html#instance-objects)。变量声明存在于C++和Java等语言中,而不是Python中。 –