Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 构造函数中的变量赋值_Python_Constructor_Variable Assignment - Fatal编程技术网

Python 构造函数中的变量赋值

Python 构造函数中的变量赋值,python,constructor,variable-assignment,Python,Constructor,Variable Assignment,我对构造函数中的变量赋值有一个问题:我有一个接受参数“context”的构造函数。首先,我将这个变量分配给一个类变量。其次,我创建了另一个类,它也将“context”作为参数 我的问题是:将类变量(self.context)或构造函数中的参数(context)赋值给新创建的类更好吗 class State(): def __init__(self, context): self.context = context self.dicon

我对构造函数中的变量赋值有一个问题:我有一个接受参数“context”的构造函数。首先,我将这个变量分配给一个类变量。其次,我创建了另一个类,它也将“context”作为参数

我的问题是:将类变量(self.context)或构造函数中的参数(context)赋值给新创建的类更好吗

class State():
    def __init__(self, context):
        self.context = context           
        self.diconnected = Disconnected(self.context)


最终结果是一样的<代码>断开连接(上下文)只是稍微短一点,速度也快一点。

最终结果是一样的<代码>断开连接(上下文)只是稍微短一点、快一点。

在Python中,这实际上不会以任何显著方式影响程序的执行时间。唯一的情况是多个线程可能正在使用此数据。我总是使用这个参数以防万一。

在Python中,这实际上不会以任何显著的方式影响程序的执行时间。唯一的情况是多个线程可能正在使用此数据。我总是用这个论点以防万一。

客观上没有一个是“更好的”;在任何情况下,您都将同一对象传递给断开连接的

你写哪一个取决于你想强调哪一个依赖关系:
Disconnected
self
具有相同的上下文(这也意味着
self
总是有一个),或者它具有作为参数传入的上下文。

没有一个是客观上“更好的”;在任何情况下,您都将同一对象传递给断开连接的


你写哪一个取决于你想强调的依赖关系:
Disconnected
self
具有相同的上下文(这也意味着
self
总是有一个),或者它具有作为参数传入的上下文。

这些是实例变量,而不是类变量。很抱歉造成混淆。我的意思是CourseThodse的实例变量是实例变量,而不是类变量。很抱歉造成混淆。我是指courseTo的实例变量来澄清:线程可以在赋值之间插入(self.context=context)以及使用self.context作为参数,从而导致无效状态?它可能会在将self.context的值传递给第二个类构造函数之前更改该值。澄清一下:线程可以在赋值之间插入(self.context=context)而使用self.context作为参数并因此导致无效状态?它可能会在传递给第二个类构造函数之前更改self.context的值。
class State():
        def __init__(self, context):
            self.context = context           
            self.diconnected = Disconnected(context)