[Python基礎]淺談類別

更新於 發佈於 閱讀時間約 5 分鐘

本文讓我們來淺談一下類別是什麼?

若想看詳細一點的python官方教學可點此連結

Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具

實例就像是用那個模具做出來的蛋糕。

蛋糕模具(類別)定義了蛋糕應該有的形狀和特徵,

每個具體的蛋糕(實例)都有自己的名字、口味等屬性

舉個例子,讓我們創建一個簡單的蛋糕模具(類別):

class Cake:
def __init__(self, flavor, layers):
self.flavor = flavor #設定口味
self.layers = layers #設定層數

def describe(self):
print(f"This cake is {self.flavor} flavor and has {self.layers} layers.")

這個蛋糕模具有一個初始化方法 __init__,用來設定蛋糕的口味和層數,還有一個 describe 方法,用來描述蛋糕的特徵,

初始化方法 __init__,在每次使用類別創立物件時,都會先初始化這方法裡面的屬性flavor,layers,這個方法允許你在創建實例的同時,設定物件的初始屬性。

現在,我們可以用這個模具創建不同口味和層數的蛋糕:

利用類別cake(蛋糕模具)來創建兩個不同口味跟層數的蛋糕吧。

# 創建一個巧克力蛋糕
chocolate_cake = Cake(flavor="Chocolate", layers=3)

# 創建一個草莓蛋糕
strawberry_cake = Cake(flavor="Strawberry", layers=2)

# 描述這些蛋糕
chocolate_cake.describe()
strawberry_cake.describe()
程式輸出圖

程式輸出圖

chocolate_cake = Cake(flavor="Chocolate", layers=3),這段意思就是用剛剛我們寫的類別(Cake)蛋糕模具來創建一個chocolate_cake的物件,其中包含了有口味跟層數這個屬性,會想這個屬性看起來就跟宣告的變數差不多阿。

有一些重要的差異。類別中的屬性與在外部宣告的變數有一些特殊之處:

  1. 作用域: 類別中的屬性屬於該類別的作用域,意味著它們可以在整個類別內部使用。這樣的封閉性有助於組織和保護數據。
  2. 實例化: 類別中的屬性是在實例化(創建物件)時初始化的。每個實例都有自己的一組屬性,這與在外部宣告的變數不同,它們的值可以在任何地方更改。
  3. 繼承: 如果你使用了繼承,子類別可以繼承父類別中的屬性,進行擴充或覆寫。這樣有助於實現代碼的重用性和結構。

讓我們引用剛剛的蛋糕模具在來創建一個香蕉蛋糕吧

banana_cake = Cake(flavor="banana", layers=5)
banana_cake
創建香蕉蛋糕 (物件)

創建香蕉蛋糕 (物件)

疑怎麼跟剛剛不一樣,因為只創建物件,並未使用describe這個方法,所以只單純創建物件並沒有呼叫這個方法印出print(f"This cake is {self.flavor} flavor and has {self.layers} layers.")


想像一下,想在做蛋糕時忽然忘記剛剛放的是什麼調味,也可以只使用類別的屬性來查看,或者是修改調味

#使用類別的屬性
banana_cake.flavor
print(banana_cake.flavor)
使用類別的屬性

使用類別的屬性

修改蛋糕的口味(物件的屬性)

#修改物件的屬性
banana_cake.flavor = 'apple'
print(banana_cake.flavor)
修改口味

修改口味

好,想像一下我們剛剛原本想做香蕉蛋糕,但臨時想吃蘋果口味的就修改了一下口味(屬性),讓我們將蛋糕做出,使用方法來印出,看是否有像我們想像的一樣是蘋果口味了

#做出蛋糕來,看是否有更換了口味了
banana_cake.describe()
變蘋果口味了

變蘋果口味了

好的,真的變蘋果口味了,讓我們來總結一下本文的學習總結


總結

類別,方法

類別,方法

實例,屬性

實例,屬性

(蛋糕模型)類別定義: 使用 class 關鍵字創建類別,定義類別的屬性和方法。

(創造物件時會導入的屬性)初始化方法 __init__: 用 __init__ 方法初始化類別的屬性,這是在創建類別實例時自動調用的方法,巧克力,層數

(口味,層數)屬性: 類別中的變數被稱為屬性,它們用來描述類別的狀態。

(巧克力蛋糕)實例: 通過實例化類別來創建類別的具體物件,每個實例都有自己的一套屬性。

(烤箱,印出蛋糕的口味及層數)方法: 類別中的函數被稱為方法,它們用來執行某些操作。方法通常作用於類別的屬性。


希望這樣解說 大家能對類別有基本的認識 ,若有什麼想法跟疑問歡迎留言讓我知道 謝謝




留言
avatar-img
留言分享你的想法!
螃蟹_crab-avatar-img
發文者
2024/01/22
[Python基礎]類別繼承(Inheritance)提及了這篇文章,趕快過去看看吧!
avatar-img
螃蟹_crab的沙龍
141會員
253內容數
本業是影像辨識軟體開發,閒暇時間進修AI相關內容,將學習到的內容寫成文章分享。
螃蟹_crab的沙龍的其他內容
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/04/25
在 Python 中,字典(dict)是非常常用的資料結構,用來儲存 key-value 配對。而在操作字典時,.setdefault() 是一個常被忽略但非常實用的方法。 這篇文章會完整介紹 .setdefault() 的語法、用途、與實務範例,幫助你更有效率地處理字典資料。 什麼是 .se
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2025/01/30
Python 程式在電腦上的執行流程 當我們在電腦上執行 Python 程式時,主要經歷以下幾個步驟: 1. 編寫 Python 程式碼 開發者使用文字編輯器或 IDE(如 VS Code、PyCharm)撰寫 Python 程式,並將其存為 .py 檔案。 例如,一個簡單的 Python
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
2024/10/17
在一個典型的程式專案中,UI、Controller 和 Main 的分工通常遵循 MVC 模型(Model-View-Controller) 的架構,這是一種常見的設計模式,能夠將應用程式的邏輯和界面進行分離。 大部分典型的程式專案設計: UI (View):專注於用戶界面,展示數據,並將用
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
本章節是一個初級的 TypeScript 教學,主要介紹了 TypeScript 中物件導向程式設計的各種核心概念,包括類別、建構子、存取修飾子、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda 表達式、泛型和反射等。每個概念都通過詳細的解釋和實例代碼來進行深入的介紹。
Thumbnail
這一節談的是用物件導向程式設計(object-oriented programming, OOP)的方式來實作隨機漫步。
Thumbnail
這一節談的是用物件導向程式設計(object-oriented programming, OOP)的方式來實作隨機漫步。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
Python的模組和庫是可重用的程式碼塊,可透過import語句引入。特定部分可以透過from和import引入,並可使用as指定別名。第三方模組可透過pip工具安裝並在程式碼中使用。此外,也可以創建自定義模組並在其他Python文件中引用。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
本文介紹了Python中的物件導向程式設計的重要概念,包括類別、繼承、多型、封裝、介面、抽象類別、靜態類別、列舉、委派、Lambda表達式、泛型和反射。每個概念都有對應的程式碼範例來說明其用法和功能。這些概念對於理解和使用Python進行物件導向程式設計至關重要。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
Thumbnail
在 Python 中,dir() 函式用於列舉對象的所有屬性和方法。這包括對象的內建屬性、方法以及自定義的屬性和方法。以下是一個簡單的示例: 列舉所有屬性與方法 class MyClass: def __init__(self): self.attribute1 = 42
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
在使用類別創建實例時,輸入的屬性的都要定義好資料型態,例如dog_1 = Dog("Buddy", 3),有沒有輸入一段字串讓他自己判斷的方法阿? 有的就是使用classmethod: classmethod 是一種裝飾器,它用於定義類別方法。類別方法與實例方法不同,它們被綁定到類別而不是實例。
Thumbnail
在使用類別創建實例時,輸入的屬性的都要定義好資料型態,例如dog_1 = Dog("Buddy", 3),有沒有輸入一段字串讓他自己判斷的方法阿? 有的就是使用classmethod: classmethod 是一種裝飾器,它用於定義類別方法。類別方法與實例方法不同,它們被綁定到類別而不是實例。
Thumbnail
[Python基礎]淺談類別 先前淺談了類別的用法,這次要在來研究一下類別繼承的概念。 延續蛋糕的案例的概念,同樣為食物,所以可以由食物當作父類別來延伸,蛋糕則是食物的子類別,若同樣為食物一定有相同的方法(函式)是固定的跟名字(屬性),可以讓子類別(蛋糕)來繼承沿用,然後也有其他子類別也可以繼承
Thumbnail
[Python基礎]淺談類別 先前淺談了類別的用法,這次要在來研究一下類別繼承的概念。 延續蛋糕的案例的概念,同樣為食物,所以可以由食物當作父類別來延伸,蛋糕則是食物的子類別,若同樣為食物一定有相同的方法(函式)是固定的跟名字(屬性),可以讓子類別(蛋糕)來繼承沿用,然後也有其他子類別也可以繼承
Thumbnail
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
Thumbnail
本文讓我們來淺談一下類別是什麼? 若想看詳細一點的python官方教學可點此連結 Python 的類別(Class)是一種面向物件導向程式設計的概念,讓你能夠創建具有屬性和方法的物件。類別是對現實世界中事物的抽象,它包含數據和操作這些數據的方法。它非常的抽象,想像一個類別就像是一個蛋糕模具,
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News