python学习笔记:类与类的实例

一.class Human(object):
Age = 0
Name = ["li", "Lei"]

a = Human()
b = Human()

a.Age += 1

print a.Age
print b.Age

a.Name[0] = "Wang"
print a.Name
print b.Name

执行结果:

xiaoheng@ubuntuxh:~/Program/mypython/class$ ./class2.py
1
0
['Wang', 'Lei']
['Wang', 'Lei']

程序里面a.Age是类属性,因此Name输出结果一样,但是由于Age是mutable类型,因此会产生一个副本,所以结果不一样

 

二.class Human(object):
Age = 0
Name = ["li", "Lei"]

a = Human()
b = Human()

Human.Age += 1
print a.Age
print b.Age

a.Name[0] = "Wang"
print a.Name
print b.Name

执行结果:
xiaoheng@ubuntuxh:~/Program/mypython/class$ ./class2.py
1
1
['Wang', 'Lei']
['Wang', 'Lei']

程序与上面的不用之处在于Human代替了a.Age,但是Name的结果一样,只是Age的结果与上面结果不一样,Age没有产生副本

posted on 2014-06-14 22:50  肖恒  阅读(186)  评论(0编辑  收藏  举报