class AAA(object):
? ? hobby='play computer'
? ? def __init__(self,name,age,weight):#類的構(gòu)造方法
? ? ? ? self.name=name#參數(shù)代入
? ? ? ? self._age=age#也是參數(shù)代入,不過是半私有化应民,就是屬性名變了啊
? ? ? ? self.__weight=weight#全私有化鸿竖?耍小聰明而已啊作谚,改改名字而已
? ? def get_weight(self):#定義第二個(gè)方法
? ? ? ? return self.__weight#用于獲取體重
if __name__=='__main__':
? ? programmer=AAA('Alert',25,80)#實(shí)例化類,形成對(duì)象历筝。
? ? print (dir(programmer))#對(duì)象所有的繼承的類的所有屬性和方法
? ? print(programmer.name)
? ? print(programmer._age)
? ? print(programmer._AAA__weight)
? ? print(programmer.__dict__)
? ? print(programmer.get_weight())
? ? print(programmer._AAA__weight)#這個(gè)地方是對(duì)象的某一個(gè)內(nèi)置的方法桌肴。
-----------------------------------------------------------------------------------------
C:\Users\sunqicheng\PycharmProjects\object\venv\Scripts\python.exe C:/Users/sunqicheng/PycharmProjects/object/Programmer.py
['_AAA__weight', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_age', 'get_weight', 'hobby', 'name']
Alert
25
80
{'name': 'Alert', '_age': 25, '_AAA__weight': 80}
80
80
Process finished with exit code 0
--------------------------------------------------
就是構(gòu)造方法的私有屬性昂灵,一種呢舱禽,就是self._age=age這種實(shí)例化對(duì)象之后可以直接調(diào)用.x._age()
另外一種就是全私有化self.__weight=weight
這種要x._AAA__weight()這樣來方法炒刁,一定程度上保護(hù)了構(gòu)造方法里的屬性恩沽。