技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
27
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
27
篇
Day27-物件導向設計 :封裝部分
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-13 19:49:38
2580 瀏覽
分享至
學習目標
定義一個空類別
類別的底層機制
定義一個一般類別
空類別的「定義」與「實體化」
定義類別(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鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19861
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
趣味SQL,在資料庫查詢功能樹狀圖用畫線方式來表示(AI解題+再次修正線條符合版+註解說明)
趣味SQL,在資料庫查詢功能樹狀圖顯示(更新:AI解題)
趣味SQL 260301 來走迷宮
Macbook OpenVPN Connect在外面無法連線
請推薦 虛擬主機 VPS,及Apache SSL 設定
VMware vSphere 的 ESXi 主機憑證(Host CA/SSL Certificate)更新
Workflow ERP 料/工/費 問題:多階產品成本結構分析表
熱門回答
請推薦 虛擬主機 VPS,及Apache SSL 設定
熱門文章
用一條指令在 Linux 上部署 AI Telegram Bot(OpenClaw 實戰)
當正常運行時間不容妥協:重新思考OT環境的零信任架構
【演算法新手村】[初階]筆記06 - 差分(一維)
[SRE×AI #07] SRE 的 Prompt 工程:怎麼讓 AI 按照你的方式調查
ZeroJudge d206. 00108 - Maximum Sum
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}