1、创建实例时,类属性不会成为实例属性。当为它们分配值时,它们成为实例属性。
实例化后没有给属性赋值;所以它仍然是一个类属性。在内部定义列表是__init__有效的,因为__init__在实例化后调用。或者,此代码也将产生所需的输出:
>>> class a: 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__无论是否在方法中。
>>> class a: string = '' >>> x = a() >>> y = a() >>> x.string += 'x' >>> y.string += 'y' >>> x.string 'x' >>> y.string 'y'
以上就是python创建实例中类属性的变化,希望对大家有所帮助。更多Python学习指路:
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。