Python繼承,子類的類屬性和父類的類屬性


"""
子類繼承父類后,初始狀態下,繼承了父類的屬性, 實際是子類屬性對父類屬性的引用
當在子類中修改繼承過來的類屬性時,並不會修改父類的同名類屬性。以后只要是通過子類訪問該屬性,訪問的都是子類的屬性

而dict.update和 = 的區別在於, update在原對象操作 ,而直接賦值 會使子類的類屬性指向新的對象

所以注意區別使用
dict.update會直接修改父類的類屬性,從而所有子類的類屬性發生變化
直接賦值會使子類的類屬性指向新的對象,不會修改父類的類屬性

"""

函數內的變量類似,可以訪問,但是如果賦值的話就是函數內的變量,如果需要改變外部變量,需要添加global。 update則不用
(閉包函數訪問函數內變量則需要添加nonlocal)
a = {"name": "wjz"}

def tmp():
# global a
a.update({"name": "123"})

def tmp2():
global a
a = 1


tmp()
print(a)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM