python類的理解與使用
1. 通俗理解類
類(英文名 class),是具有相同特性(屬性)和行為(方法)的對象(實例)的抽象模板。
從定義上來理解類,是一件非常吃力的事情,特別是對那些沒有任何基礎的初學者。
下面我舉例來說明類中一些關鍵術語都是什么意思:
類:動物屬于一個類,植物屬于一個類
實例:貓和狗都屬于同一類,就是動物類,那么貓和狗是動物類的實例/對象。
屬性:類中所有的變量,都叫做屬性。
方法:類中的所有函數,都叫做方法。
類與對象的關系就如模具和鑄件的關系,類的實例化的結果就是對象,而對象的抽象就是類,類描述了一組有相同特性(屬性)和相同行為(方法)的對象。
2. 如何定義類?
定義一個類,使用的是 class 關鍵字
下邊我定義了一個 Animal 的類
class Animal:
age = 0
def __init__(self, name):
self.name = name
def run(self):
print(f"{self.name} 跑起來了")
其中
Animal
是類名
__init__
是構造函數,用于實例的初始化
self.name
是實例屬性,age
是類屬性
run
是方法,第一個參數 self 是什么意思呢?這個咱后面再講。
除了上面這種寫法外
# 第一種寫法
class Animal:
...
還有另外兩種寫法,與之是等價的
# 第二種寫法
class Animal():
...
# 第二種寫法
class Animal(object):
...
因為在 Python 3 中,無論你是否顯示繼承自 object,Python 解釋器都會默認你繼承 object ,這是新式類的寫法,與之對應的是 Python 2 的經典類寫法。
3. 如何實例化?
定義了類之后,就可以通過下邊的寫法實例化它,并訪問屬性,調用方法
>>> class Animal:
... def __init__(self, name):
... self.name = name
... def run(self):
... print(f"{self.name} 跑起來了")
...
>>>
>>> dog=Animal(name="小黑") # 實例化出 dog 對象
在實例化時傳入的參數 name="小黑"
傳進入到構造函數 __init__
中,最終賦值 self.name
成為實例的屬性。
4. 方法的調用
實例化成對象后,如果訪問實例屬性,可以用 對象.屬性名
進行訪問。
>>> dog=Animal(name="小黑")
>>> dog.name # 訪問屬性
'小黑'
如果要調用方法,有兩種方法
通過 對象.方法名
:使用這種方法,在定義方法時 self 就代表對象(dog),調用時無需再傳入了。
>>> dog=Animal(name="小黑")
>>> dog.run() # 調用方法
小黑 跑起來了
通過 類.方法名
:使用這種方法,self 參數要傳入實例對象
>>> dog=Animal(name="小黑")
>>> Animal.run(dog)
小黑 跑起來了
審核編輯:符乾江
-
面向對象
+關注
關注
0文章
64瀏覽量
10090 -
python
+關注
關注
56文章
4823瀏覽量
86162
發布評論請先 登錄
評論