技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
第 11 屆 iThome 鐵人賽
DAY
27
0
自我挑戰組
從不懂,到玩上手的Python語言
系列 第
27
篇
Day27-物件導向設計 :封裝部分
11th鐵人賽
岳岳
團隊
CPR爆肝初心者
2019-10-13 19:49:38
2027 瀏覽
分享至
學習目標
定義一個空類別
類別的底層機制
定義一個一般類別
空類別的「定義」與「實體化」
定義類別(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系列文
訂閱系列文
9
人訂閱
26
DAY26-物件導向設計
27
Day27-物件導向設計 :封裝部分
28
Day28-物件導向設計封裝部分:建構函數(Constructor)
29
Day29- 例外處理 (Exception)
30
Day30-總結30 天
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22200
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
熟識南投軟體工程師推薦
如何練國考資訊題?
筆電無法使用usb開機重裝系統
CCNA相關問題詢問
電商在販售商品時,可以自行縮短保固期限嗎?
求救 有人會修改cookie權限嗎
python scrapy pipeline實作問題請教
防火牆互通問題
函數問題
桌面的使用者文件圖標壞掉
熱門回答
防火牆互通問題
if函數中的>&<&=是否可以使用儲存格代替
筆電無法使用usb開機重裝系統
熟識南投軟體工程師推薦
電商在販售商品時,可以自行縮短保固期限嗎?
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day1]
每日一篇學習筆記 直到我做完專題 :( [Day2]
[翻譯]使用AI工具寫程式碼時如何避免「AI幻覺」?
每日一篇學習筆記 直到我做完專題 :( [Day3]
每日一篇學習筆記 直到我做完專題 :( [Day4]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}