python中super獲取類變量
本文教程操作環(huán)境:windows7系統(tǒng)、Python3.9.1,DELLG3電腦。
1、super一般情況下獲取的是方法,不過(guò)也可以獲取變量:
classBase:
NAME='BASE'
classSub(Base):
NAME='SUB'
defprint(self):
print(self.NAME)
print(super(Sub,Sub).NAME)
>>>Sub().print()
SUB
BASE
2、實(shí)例變量是無(wú)法獲取的,因?yàn)楦割惒](méi)有實(shí)例化,實(shí)例變量是不存在的,因此肯定是無(wú)法繼承的。
還有一種情況:
classBase:
NAME='BASE'
classSub(Base):
NAME='SUB'
defprint(self):
print(self.NAME)
print(super(Sub,Sub).NAME)
print(Base.NAME)
最后兩行在單繼承環(huán)境下沒(méi)有區(qū)別,但是在多級(jí)繼承時(shí)存在區(qū)別。
以上就是python中super獲取類變量的方法,希望能對(duì)大家有所幫助。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。