1. 程式人生 > >面向對象-內置成員

面向對象-內置成員

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 #輸出結果:這是一個靜態方法

面向對象-內置成員