1、创建实例时,类属性不会成为实例属性。当为它们分配值时,它们成为实例属性。
实例化后没有给属性赋值;所以它仍然是一个类属性。在内部定义列表是__init__有效的,因为__init__在实例化后调用。或者,此代码也将产生所需的输出:
>>>classa: list=[] >>>y=a() >>>x=a() >>>x.list=[] >>>y.list=[] >>>x.list.append(1) >>>y.list.append(2) >>>x.list.append(3) >>>y.list.append(4) >>>print(x.list) [1,3] >>>print(y.list) [2,4]
2、当且仅当在实例化后为它们分配值时,类属性才成为实例属性,__init__无论是否在方法中。
>>>classa: string='' >>>x=a() >>>y=a() >>>x.string+='x' >>>y.string+='y' >>>x.string 'x' >>>y.string 'y'
以上就是python创建实例中类属性的变化,希望对大家有所帮助。更多Python学习指路:Python基础教程