python類變數以及例項變數的區別

2021-10-19 02:54:42 字數 857 閱讀 2892

"""

當前指令碼是為了驗證類變數以及例項變數的區別

"""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...