面向對象-內置成員
阿新 • • 發佈:2019-05-16
dict col ati 面向 color 特征 顯示 類名 class
#內置成員
__dict__:獲取類/對象的所屬成員組成的集合
__doc__:獲取類的文檔信息
__name__:獲取類名稱的字符串
__module__:獲取當前類所在的文件的名稱,當前文件顯示為__main__
__bases__:獲取當前類的父類列表
1 #內置成員調試實例 2 #聲明一個類 3 class Animal: 4 pass 5 #聲明一個類 6 class Action: 7 pass 8 #聲明一個類 9 class Human(Animal,Action): 10 ‘‘‘ 11 這是類的文檔 12 成員 信息13 成員 信息 14 成員 信息~ 15 成員 信息 16 ‘‘‘ 17 #成員屬性 18 sex = 1 19 age = 18 20 color = ‘yellow‘ 21 #成員方法 22 def smile(self): 23 print(‘哈哈哈哈哈‘) 24 def cry(self): 25 print(‘嗚嗚嗚嗚~~‘) 26 #實例化對象 27 ren = Human() 28 29 #__dict__:獲取類/對象的所屬成員組成的集合30 #print(Human.__dict__) 31 #輸出結果:{‘__module__‘: ‘__main__‘, ‘__doc__‘: ‘\n 這是類的文檔\n 成員 信息\n 成員 信息\n 成員 信息~\n 成員 信息\n ‘, ‘sex‘: 1, ‘age‘: 18, ‘color‘: ‘yellow‘, ‘smile‘: <function Human.smile at 0x000001FF1985D7B8>, ‘cry‘: <function Human.cry at 0x000001FF1985D840>} 32#print(ren.__dict__) 33 #輸出結果:{} 34 35 #__doc__:獲取類的文檔信息 36 #print(Human.__doc__) 37 ‘‘‘ 38 輸出結果: 39 這是類的文檔 40 成員 信息 41 成員 信息 42 成員 信息~ 43 成員 信息 44 ‘‘‘ 45 46 #__name__:獲取類名稱的字符串 47 #print(Human.__name__) 48 #輸出結果:Human 49 50 #__module__:獲取當前類所在的文件的名稱,當前文件顯示為__main__ 51 #print(Human.__module__) 52 #輸出結果:__main__ 53 54 #__bases__:獲取當前類的父類列表 55 #print(Human.__bases__) 56 #輸出結果:(<class ‘__main__.Animal‘>, <class ‘__main__.Action‘>)
方法的分類
1.對象方法:該方法中會直接傳入當前對象
調用方式:對象.成員方法()
特征:會將當前對象傳入方法中
2.類方法:在方法中會直接傳入當前類
調用方式:類.成員方法()
特征:會將當前類傳入方法中
3.綁定類的方法:在方法中不會傳入類或者對象的方法
調用方式:類.成員方法()
特征:不會傳入類或者對象
4.靜態方法:與類喝對象無關,但是存在於類結構中的方法
調用方式:類.成員方法() 或者對象.成員方法()
特征:類或者對象都可以調用
1 #聲明一個類 2 class Human: 3 #成員方法 4 #吃方法 ->對象方法 5 def eat(self): 6 print(self) 7 print(‘這是一個對象方法‘) 8 #喝方法 ->類方法 9 @classmethod 10 def drink(cls): 11 print(cls) 12 print(‘這是一個類方法‘) 13 #玩方法 -> 綁定類的方法 14 def play(): 15 print(‘綁定類的方法‘) 16 #樂方法 - > 靜態方法 17 @staticmethod 18 def happy(): 19 print(‘這是一個靜態方法‘) 20 21 #實例化對象 調用方法 22 ren = Human() 23 #調用對象方法 24 #ren.eat() 25 ‘‘‘ 26 輸出結果: 27 <__main__.Human object at 0x000001B9DFD32F28> 28 這是一個對象方法 29 ‘‘‘ 30 31 #調用類方法 32 #Human.drink() 33 ‘‘‘ 34 輸出結果: 35 <class ‘__main__.Human‘> 36 這是一個類方法 37 ‘‘‘ 38 39 #調用綁定類的方法 40 #Human.play() 41 #輸出結果:綁定類的方法 42 43 #調用類的靜態方法1 44 #Human.happy() 45 #輸出結果:這是一個靜態方法 46 47 #調用對象的靜態方法 48 #ren.happy() 49 #輸出結果:這是一個靜態方法
面向對象-內置成員