Python class 類別用法與教學

本篇介紹 python class 類別用法與教學,class 是物件導向程式設計(OOP)的基礎,學好如何設計類別物件能夠提高程式的重複利用性,好擴充,以及日後的維護性,所以這邊介紹基本的 class 類別的寫法,

最基本的類別(Class)的用法

假設我要設計一個 Animal 的 class 類別,那程式會長這樣,裡面什麼東西都沒有的話要加上一個 pass 語句,

1
2
class Animal:
pass

建構子(Constructor)

那我要加入 Animal 類別一個建構子的話(參數為空),是這樣寫的,加入 __init__ 函式,第一個參數必須為self,self 表示這個類別

1
2
3
class Animal:
def __init__(self):
pass

宣告一個變數 a 並初始化一個 Animal class 的話就這樣寫,

1
a = Animal()

成員變數(Class member)

那我要讓建構子傳入 name 參數並且保存到成員變數的話,self.name 表示這個類別的 name 成員變數,pass 移除是因為建構子裡面有寫東西了所以不用擺 pass 語句了

1
2
3
class Animal:
def __init__(self, name):
self.name = name

成員函式(Member function)

這個 Animal 類別要有一個 eat 的函式,並且印出該動物吃的是什麼東東,那這個食物就讓 Animal 類別建構的時候一併傳進來保存到成員變數裡,

1
2
3
4
5
6
7
class Animal:
def __init__(self, name, food):
self.name = name
self.food = food

def eat(self):
print("I am " + self.name + ", I eat " + self.food)

宣告一個變數 a 並且初始化成 Animal 類別,並帶入該動物的參數,a 存取 Animal 類別的 eat() 這個方法是用 . 的方式來呼叫,這樣就會執行 eat 成員函式

1
2
a = Animal("dog", "meat")
a.eat()

完整的 Python 類別程式範例

以下為完整的 Python class 類別程式範例,

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

class Animal:
def __init__(self, name, food):
self.name = name
self.food = food

def eat(self):
print("I am " + self.name + ", I eat " + self.food)

a = Animal("dog", "meat")
a.eat()

程式輸出如下,

1
I am dog, I eat meat

以上就是 Python 類別的基本觀念與用法的介紹,透過本篇教學希望能夠讓你對 Python 類別的設計有個初步的了解,並且可以自己練習寫出一個類別來,下一篇會來介紹 Python 物件導向的繼承

其它相關文章推薦
Python 新手入門教學懶人包
Python 讀取 txt 文字檔
Python 寫檔,寫入 txt 文字檔
Python 讀取 csv 檔案
Python 寫入 csv 檔案
Python 讀寫檔案
Python 產生 random 隨機不重複的數字 list
Python PyAutoGUI 使用教學
Python OpenCV resize 圖片縮放