不再迷茫!手把手的Python入門教學-封裝

更新於 發佈於 閱讀時間約 3 分鐘
用最直白的語言解釋最複雜的概念,一系列教學​讓你在短時間內掌握 Python

前兩篇講完了 繼承(Inheritance)、多型(Polymorphism)跟 抽象類別(Abstract Class),(忘記的朋友可以回去考古一下喔!)今天講一下「封裝(Encapsulation)」,準備好我們就開始吧!

其他物件導向文章
不再迷茫!手把手的Python入門教學-物件導向初探
不再迷茫!手把手的Python入門教學-繼承
不再迷茫!手把手的Python入門教學-多型、抽象類別

封裝(Encapsulation

用於防止外部程式碼不當存取類別中的屬性(Attribute)及方法(Method),保護資料安全

私有方法

  • _ (單個底線):受保護屬性,代表該屬性不應在類別外部直接存取(但你硬要用,不會有人阻止你)
  • __ (兩個底線):私有屬性,代表該屬性無法在類別外部直接存取

*名稱改寫:Python會自動把私有屬性名稱改寫成 _類別__屬性,所以如果真的要存取,可以這樣偷吃步XD

私有屬性 範例

raw-image

由上述範例可以發現,在第 11 行呼叫類別內的函式是可以成功輸出私有屬性 __age 的,但如果是想要直接在類別外使用就沒辦法,但最後一行把屬性名稱改寫一下就可以了


私有方法

前綴加上 __,只能在類別內部呼叫
*名稱改寫:前面說的偷吃步方法,這裡一樣可以用喔:D

私有方法 範例

raw-image

可以用 get_info() 這個方法來間接呼叫私有方法 __display_info(),前面說的名稱改寫也可以成功


屬性裝飾詞(Property Decorators

一種用方法(Method)包裝屬性讀取與修改的技巧,讓屬性像變數一樣被操作,但其實背後實際執行的是函數邏輯

  • @property:Getter,讓方法變成可讀取屬性
  • @屬性名.setter:Setter,允許重新設定值
  • @屬性名.deleter:Deleter,允許刪除屬性

屬性裝飾詞 範例

raw-image

加上 @property 會讓這個方法名稱變成屬性,差別在於該屬性不是以變數的形式儲存,而是每次呼叫都會重新執行該類別內的函數,如果沒有 Setter 裝飾詞,那就代表該屬性不能被重新設定,同理 Deleter 也是如此

⚠️這邊要注意!使用該類方法的時候要像在用變數一樣的方式操作,不要寫成 emp.full_name(),不需要加小括號喔~


喜歡別忘了給我個讚或按下追蹤喔🤗

留言
avatar-img
留言分享你的想法!
avatar-img
の倉的程式小天地
6會員
32內容數
熱愛做志工的大學生 誤打誤撞跑去讀資管系 既然來到了資管系,那就學習新技能來幫助他人
2025/06/28
今天來講一下「多型(Polymorphism)」跟「抽象類別(Abstract Class)」,這兩個技巧可以讓程式更具擴充性喔!
Thumbnail
2025/06/28
今天來講一下「多型(Polymorphism)」跟「抽象類別(Abstract Class)」,這兩個技巧可以讓程式更具擴充性喔!
Thumbnail
2025/06/27
上一篇淺談完物件導向的概念之後,要來講一下比較進階的用法啦!這次來講一下「繼承(Inheritance)」~ 想一下當不同類別之間重複性很高,每當創建一個類別,就需要重複寫好多一樣的程式碼,此時就能讓子類別直接繼承父類別的所有屬性跟方法(是為了方便維護,決不是懶喔😂
Thumbnail
2025/06/27
上一篇淺談完物件導向的概念之後,要來講一下比較進階的用法啦!這次來講一下「繼承(Inheritance)」~ 想一下當不同類別之間重複性很高,每當創建一個類別,就需要重複寫好多一樣的程式碼,此時就能讓子類別直接繼承父類別的所有屬性跟方法(是為了方便維護,決不是懶喔😂
Thumbnail
2025/06/26
今天終於要開始進入到大家最期待的(其實並沒有)物件導向啦! 本篇作為物件導向系列的第一篇,我們就簡單介紹一下物件導向是什麼?有哪些元素?馬上來一探究竟吧!
Thumbnail
2025/06/26
今天終於要開始進入到大家最期待的(其實並沒有)物件導向啦! 本篇作為物件導向系列的第一篇,我們就簡單介紹一下物件導向是什麼?有哪些元素?馬上來一探究竟吧!
Thumbnail
看更多
你可能也想看
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python語法包括條件語句、迴圈、函數和變數的使用。條件語句如if、elif和else用於進行條件判斷,for和while是兩種主要的迴圈,def用於定義函數。變數可以被賦予數字或字符串,並可使用類型提示來指定變數的類型。註解可以是單行或多行,並可用於解釋函數或類的用途和作用。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
先前我們談論到靜態方法就像是定義工具箱一樣,那麼抽象方法就像是共用表格的概念,例如註冊帳號時會填寫的一些基本資料,就有包含制式的表格,裡面有需填寫的欄位,例如姓名,性別等。
Thumbnail
[Python基礎]淺談類別 先前淺談了類別的用法,這次要在來研究一下類別繼承的概念。 延續蛋糕的案例的概念,同樣為食物,所以可以由食物當作父類別來延伸,蛋糕則是食物的子類別,若同樣為食物一定有相同的方法(函式)是固定的跟名字(屬性),可以讓子類別(蛋糕)來繼承沿用,然後也有其他子類別也可以繼承
Thumbnail
[Python基礎]淺談類別 先前淺談了類別的用法,這次要在來研究一下類別繼承的概念。 延續蛋糕的案例的概念,同樣為食物,所以可以由食物當作父類別來延伸,蛋糕則是食物的子類別,若同樣為食物一定有相同的方法(函式)是固定的跟名字(屬性),可以讓子類別(蛋糕)來繼承沿用,然後也有其他子類別也可以繼承
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News