我对构造函数中的变量赋值有一个问题:我有一个构造函数,它接受参数'context'。首先,我将此变量赋值给一个类变量。其次,我创建了另一个类,它也将'context'作为参数。
我的问题:将类变量(self.context)或构造函数(context)中的参数赋值给新创建的类更好吗?
class State():
def __init__(self, context):
self.context = context
self.diconnected = Disconnected(self.context)
或
class State():
def __init__(self, context):
self.context = context
self.diconnected = Disconnected(context)
答案 0 :(得分:2)
最终结果是一样的。 Disconnected(context)
只是略短且更快。
答案 1 :(得分:0)
这实际上不会在Python中以任何重要方式影响您的程序执行时间。这可能最重要的唯一情况是多个线程可能正在使用此数据。为了以防万一,我总是使用这个论点。
答案 2 :(得分:0)
没有客观“更好”;在任何情况下,你都将同一个对象传递给Disconnected
。
您编写哪一个取决于您要强调的依赖关系:Disconnected
与self
具有相同的上下文(这也意味着self
总是有一个),或者它将上下文作为参数传入。