python私有方法的使用注意

z_paul發表於2021-09-11

python私有方法的使用注意

1、使用注意

單下劃線的方法只是開發者之間的約定,直譯器不做任何改變。

雙下化下的方法,是私有方法,直譯器會改名,改名策略和私有變數相同,【_類名__方法名】。方法變數都在類的【__dict__】中可以找到。

2、例項

class Myclass:
 
    def __init__(self,name,age=18):
        self.name = name
        self._age = age
 
    def __getname(self):
        return self.name
 
    def __getage(self):
        return self.name
 
a = Myclass("tom")
#print(a.__getname())    #   AttributeError: 'Myclass' object has no attribute '__getname'
#print(a.__getage())     #   AttributeError: 'Myclass' object has no attribute '__getage'
 
print(a.__dict__)   #   {'name': 'tom', '_age': 18}
print(a.__class__.__dict__)     #   {'__module__': '__main__', '__init__': <function Myclass.__init__ at 0x01ABC468>, '_Myclass__getname': <function Myclass.__getname at 0x01B06150>, '_Myclass__getage': <function Myclass.__getage at 0x01B064B0>, '__dict__': <attribute '__dict__' of 'Myclass' objects>, '__weakref__': <attribute '__weakref__' of 'Myclass' objects>, '__doc__': None}
print(a._Myclass__getname())    #   tom

以上就是python私有方法的使用注意,希望對大家有所幫助。更多Python學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2829564/,如需轉載,請註明出處,否則將追究法律責任。

相關文章