Python類里的類變量和實例對象變量的區(qū)別?
其實,從名字就能看出來,python的類變量和實例變量的區(qū)別:
類變量:
是可在類的所有實例之間共享的值(也就是說,它們不是單獨分配給每個實例的)。例如下例中,num_of_instance 就是類變量,用于跟蹤存在著多少個Test 的實例。
實例變量:
實例化之后,每個實例單獨擁有的變量。
[python] view plain copy
class Test(object):
num_of_instance = 0
def __init__(self, name):
self.name = name
Test.num_of_instance += 1
if __name__ == '__main__':
print Test.num_of_instance
t1 = Test('jack')
print Test.num_of_instance
t2 = Test('lucy')
print t1.name , t1.num_of_instance
print t2.name , t2.num_of_instance