其實,從名字就能看出來,Python的類變數和例項變數的區別:
類變數:
是可在類的所有例項之間共享的值(也就是說,它們不是單獨分配給每個例項的)。例如下例中,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")
t2 = Test("lucy")
print t1.name , t1.num_of_instance
print t2.name , t2.num_of_instance
其實,從名字就能看出來,Python的類變數和例項變數的區別:
類變數:
是可在類的所有例項之間共享的值(也就是說,它們不是單獨分配給每個例項的)。例如下例中,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