python中以下划線開頭的變量名的特點


 

  • _xx:前置單下划線,私有化屬性或方法,一般來講,變量名_xx被看作是“私有 的”,在模塊或類外不可以使用。當變量是私有的時候,用_xx 來表示變量是很好的習慣。類對象和子類可以訪問,這並不能完全做到真正的私有,只是約定俗成的而已,這樣寫表示不希望這個變量在外部被直接調用
  • __xx:前置雙下划線,私有化屬性或方法,無法在外部直接訪問(名字重整所以訪問不到,只能是允許這個類本身進行訪問了。連子類也不可以)
  • __xx__:前后雙下划線,系統定義名字(這就是在python中強大的魔法方法),因為變量名__xxx__對Python 來說有特殊含義,對於普通的變量應當避免這種命名風格。
  • xx_:后置單下划線,用於避免與Python關鍵詞的沖突
  • 如以下例子所示,我在test類中定義了x,_x和 __x三個屬性,並創建了test的類對象t,對這三個屬性進行訪問,__x不能被訪問到
  • 1 class test(object):
    2  def __init__(self):
    3  self.x = 10
    4  self._x = 20
    5  self.__x = 30
    6 t = test()
    7 print(t.x) # 10
    8 print(t._x) # 20
    9 # print(t.__x) # AttributeError: 'test' object has no attribute '__x'

     


免責聲明!

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



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