python创建实例中类属性的变化

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基础教程

发表回复