技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
27
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
27
篇
Day27-物件導向設計 :封裝部分
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-13 19:49:38
2785 瀏覽
分享至
學習目標
定義一個空類別
類別的底層機制
定義一個一般類別
空類別的「定義」與「實體化」
定義類別(Define a Class)
實體化(Instantiation)
範例原始碼與執行結果
原始碼
執行結果
類別/物件底層記憶體分佈
驗證類別/物件底層記憶體分佈
定義一個類別的方法
先定義一個類別有哪些資料然後定義這些資料要有哪些函數去操縱然後將資料
與函數包起來並且在主程式使用包裝好的類別
為何函數第一個參數是 self
為了區別「類別」與「物件」內的變數
如何取出 name 與 age 的值
使用「物件名稱.成員名稱」語法
屬性(物件內的變數): robert.name、robert.age
方法(物件內的函數): robert.setData(…)
可以直接寫值到 name 或 age 上嗎?
可以!!
語法: 物件變數名稱.屬性名稱 = 新值
範例: robert.age= 50
老手常常把變數宣告省略
原因
Python 在指定初值時,遇到變數不存在會自動產生變數後再給初值。
省略的好處:少寫幾行系統效率稍好
不省略的好處:程式碼容易了解
重點整理
定義一個類別的語法
語法:class 類別名稱:
範例:class Person:
實體化一個類別的語法
語法:物件變數名稱 體化個類別的語法
範例:robert Person()
類別底層機制
類別自己有自己的記憶體,內含所有宣告的變數與函數,作為拷貝用的範本
每實體化一個物件 = 將類別記憶體完整拷貝一份
物件導向類別的寫作方法
定義變數 → 定義操縱變數的函數 → 將變數、函數包起來
self:代表物件「自己」,可以用來抓取包含於其中的變數與函數
類別的函數(方法)第一參數一定是 self。但呼叫時不需寫 self
老手常常省略變數宣告,因為 Python 會自動產生
留言
追蹤
檢舉
上一篇
DAY26-物件導向設計
下一篇
Day28-物件導向設計封裝部分:建構函數(Constructor)
系列文
從不懂,到玩上手的Python語言
共
30
篇
目錄
RSS系列文
訂閱系列文
10
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
248
組
團體組數
9
組
累計文章數
2061
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
18th鐵人賽
c#
linux
windows server
css
熱門問題
請問TIPTOP T100 Oracle DB正式區複製到測試區
鼎新Workflow ERP AiGP 用筆電開啟速度超慢,有妙方嗎?
新人IT可以做甚麼
企業GCP Antigravity可否使用Claude model?
outlook 報表的應用
熱門回答
請問TIPTOP T100 Oracle DB正式區複製到測試區
新人IT可以做甚麼
熱門文章
Day 2|DGX Spark GB10 深度解析:128GB 統一記憶體到底解決了什麼問題
Day 3|網路與儲存規劃:10GbE 骨幹、雙 Spark 直連與 NFS 集中模型庫
Day 1|為什麼 2026 年是地端 AI 部署元年:系列規劃與硬體總覽
Day 1 | AI Infra 到底是什麼?
AI coding agent 省 token 實戰:固定成本、prompt caching 回本門檻與 context rot
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}