在Python中,通過單下劃線”_”來實現模塊級別的私有化,一般約定以單下劃線”_”開頭的變量、函數為模塊私有的,也就是說”frommoduleNameimport*”將不會引入以單下劃線”_”開頭的變量、函數
對于Python中的類屬性,可以通過雙下劃線”__”來實現一定程度的私有化。
_”和”__”的使用更多的是一種規范/約定,不沒有真正達到限制的目的:
“_”:以單下劃線開頭只能允許其本身與子類進行訪問,(起到一個保護的作用)
“__”:雙下劃線的表示的是私有類型的變量。這類屬性在運行時屬性名會加上單下劃線和類名。
“__foo__”:以雙下劃線開頭和結尾的(__foo__)代表python里特殊方法專用的標識,如__init__()
'''
在Python中,通過單下劃線”_”來實現模塊級別的私有化,
一般約定以單下劃線”_”開頭的變量、函數為模塊私有的,
也就是說”frommoduleNameimport*”
將不會引入以單下劃線”_”開頭的變量、函數
'''
importrandom#全部會導入
fromrandomimport*#_Set不會倒入
classAnimal:
_eye=2
__leg=4#共有的
def__init__(self,name,food):
print('正在實例化')
self.name=name
self.food=food
defget_name(self):
print(self.name)
#_”和”__”的使用更多的是一種規范/約定,并沒有真正達到限制的目的:
dog._eye=3
#dog._Animal__leg##__默認加一個類名,用來警告
#“__foo__”:以雙下劃線開頭和結尾的(__foo__)
#代表python里特殊方法專用的標識,如__init__()
以上內容為大家介紹了Python類的私有屬性和方法,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。