Python 类属性问题,神奇的现象
class Test_a():
t_a = ''
t_b = 0
test_a = Test_a()
test_a.t_a = 'a'
test_b = Test_a()
test_b.t_a = 'b'
for test in [test_a, test_b]:
if test.t_a == 'a':
test.t_b = test.t_b + 10
print('test_a.t_b的值时{0}'.format(test_a.t_b))
print('test_b.t_b的值时{0}'.format(test_b.t_b))
class Test_1():
t_1 = ''
t_2 = [0,0]
test_1 = Test_1()
test_1.t_1 = '1'
test_2 = Test_1()
test_2.t_1 = '2'
for test in [test_1, test_2]:
if test.t_1 == '1':
test.t_2[0] = test.t_2[0] + 10
print('test_1.t_2[0]的值是{0}'.format(test_1.t_2[0]))
print('test_1.t_2[0]的值是{0}'.format(test_2.t_2[0]))
输出结果
test_a.t_b的值时10
test_b.t_b的值时0
test_1.t_2[0]的值是10
test_1.t_2[0]的值是10
类属性值为INT类型是可以单独计算, 类属性为列表时会合并计算
推荐文章: