"""
當前指令碼是為了驗證類變數以及例項變數的區別
"""class a(object):
name = 1
class b(a):
pass
class c(a):
pass
a.name = '2'
print a.name, b.name, c.name
b.name = 'b'
print a.name, b.name, c.name
a.name = 'a'
print a.name, b.name, c.name
print('*' * 50)
print('得出結論: 父類的類變數各個子類都能共享,但是子類修改類變數時,不影響父類的類變數;父類修改類變數直接會作用到未覆蓋過類變數的子類')
class a(object):
def __init__(self):
self.name = 1
class b(a):
pass
class c(a):
pass
a = a()
b = b()
c = c()
print a.name, b.name, c.name
b.name = 'b'
print a.name, b.name, c.name
a.name = 'a'
print a.name, b.name, c.name
print('*' * 50)
print('得出結論: 例項變數各個子類物件也都能共享,但是任何例項修改例項變數時,都不影響其他例項的例項變數')
python的類變數與例項變數以及 dict
關於python的例項變數與類變數,先來看一段可能顛覆世界觀的例子 1 usr bin env python2 coding utf 8 3 date 2016年10月10日4 author 蔚藍行56 首先建立乙個類cls,這個類中包含乙個值為1的類變數clsvar,乙個值為2的例項變數insva...
python的類變數與例項變數以及 dict
關於python的例項變數與類變數,先來看一段可能顛覆世界觀的例子 1 usr bin env python2 coding utf 8 3 date 2016年10月10日4 author 蔚藍行56 首先建立乙個類cls,這個類中包含乙個值為1的類變數clsvar,乙個值為2的例項變數insva...
Python類變數和例項變數
類體中 所有函式之外 此範圍內定義的變數,稱為類屬性或類變數 類屬性的呼叫方式有 2 種,既可以使用類名直接呼叫,也可以使用類的例項化物件呼叫。需要注意的是 因為類變數為所有例項化物件共有,通過類名修改類變數的值,會影響所有的例項化物件 而不能通過類物件修改類屬性。類體中,所有函式內部 以 self...