Python 使用相同或新列表的新名称?

Python 使用相同或新列表的新名称?,python,list,object,reference,Python,List,Object,Reference,如果我有x=['f',1],那么module.x=x,module.x会引用x吗,还是会创建一个引用x列表中对象的新列表?如果你明白我的问题。这就像画一幅Python如何执行的图片一样。当我们这样做时: x = ['f', 1] module.x = x 它创建一个列表 x被分配它的参考 当我们这样做时: x = ['f', 1] module.x = x module.x被分配相同的引用 因此,不会创建一个新列表 运行此代码以清楚地理解它: class Temp: def _

如果我有
x=['f',1]
,那么
module.x=x
,module.x会引用x吗,还是会创建一个引用x列表中对象的新列表?如果你明白我的问题。这就像画一幅Python如何执行的图片一样。

当我们这样做时:

x = ['f', 1]
module.x = x
  • 它创建一个列表
  • x
    被分配它的
    参考
  • 当我们这样做时:

    x = ['f', 1]
    
    module.x = x
    
    module.x
    被分配相同的引用

    因此,不会创建一个新列表


    运行此代码以清楚地理解它:

    class Temp:
        def __init__(self):
            self.x = None
    
    x = ['f', 1]
    print(id(x))    
    
    temp = Temp()
    temp.x = x
    
    print(id(temp.x))
    
    assert id(x) == id(temp.x)
    

    什么是
    模块
    ?请给出一个完整的最小示例。简短的回答是
    模块。x
    是指
    x
    。换句话说,如果您更改
    x
    ,它将
    module.x
    更改为well@DYZ,我认为他/她是指对象的成员变量