Python中class类中数组的定义与用法
在python的class中,数组的定义需要特别注意。具体如下所示:
class aaa:
ddd = 2
test = []
def __init__(self, tmp=0):
self.ccc = tmp
self.bbb = []
self.test.append(tmp)
def add_num(tmp):
tmp.bbb.append(5)
a = aaa(5)
b = a.bbb
b.append(1)
a.ddd = 10
add_num(a)
c = aaa(11)
c.ddd = 5
d = aaa(1)
d.bbb.append(12)
print(a.test, c.test, d.test)
print(a.bbb, c.bbb, d.bbb)
其输出结果为:
[5, 11, 1] [5, 11, 1] [5, 11, 1]
[1, 5] [] [12]
即非在__init__函数中再创建的数组将成为class类的公共数组,init函数定义后的数组才为实例的私有数组。