簡單介紹python封裝的基本知識
更新時間:2019年08月10日 08:33:38 作者:人生與戲
這篇文章主要介紹了簡單介紹python封裝的基本知識,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
python封裝簡介
1.效果圖:
對比一:

對比二:

2.學習來源代碼:
# 封裝是面向對象的三大特性之一
# 封裝指的是隱藏對象中一些不希望被外部所訪問到的屬性或方法
# 如何隱藏一個對象中的屬性?
# - 將對象的屬性名,修改為一個外部不知道的名字
# 如何獲取(修改)對象中的屬性?
# - 需要提供一個getter和setter方法使外部可以訪問到屬性
# - getter 獲取對象中的指定屬性(get_屬性名)
# - setter 用來設置對象的指定屬性(set_屬性名)
# 使用封裝,確實增加了類的定義的復雜程度,但是它也確保了數(shù)據(jù)的安全性
# 1.隱藏了屬性名,使調用者無法隨意的修改對象中的屬性
# 2.增加了getter和setter方法,很好的控制的屬性是否是只讀的
# 如果希望屬性是只讀的,則可以直接去掉setter方法
# 如果希望屬性不能被外部訪問,則可以直接去掉getter方法
# 3.使用setter方法設置屬性,可以增加數(shù)據(jù)的驗證,確保數(shù)據(jù)的值是正確的
# 4.使用getter方法獲取屬性,使用setter方法設置屬性
# 可以在讀取屬性和修改屬性的同時做一些其他的處理
# 5.使用getter方法可以表示一些計算的屬性
class Dog:
'''
表示狗的類
'''
def __init__(self , name , age):
self.hidden_name = name
self.hidden_age = age
def say_hello(self):
print('大家好,我是 %s'%self.hidden_name)
def get_name(self):
'''
get_name()用來獲取對象的name屬性
'''
# print('用戶讀取了屬性')
return self.hidden_name
def set_name(self , name):
# print('用戶修改了屬性')
self.hidden_name = name
def get_age(self):
return self.hidden_age
def set_age(self , age):
if age > 0 :
self.hidden_age = age
d = Dog('旺財',8)
# d.say_hello()
# 調用setter來修改name屬性
d.set_name('小黑')
d.set_age(-10)
# d.say_hello()
print(d.get_age())
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python使用內置json模塊解析json格式數(shù)據(jù)的方法
這篇文章主要介紹了Python使用內置json模塊解析json格式數(shù)據(jù)的方法,結合實例形式分析了Python使用內置的json模塊實現(xiàn)json格式數(shù)據(jù)的解析、轉換相關操作技巧,需要的朋友可以參考下2017-07-07
對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解
今天小編就為大家分享一篇對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
python編程開發(fā)時間序列calendar模塊示例詳解
這篇文章主要為大家介紹了python編程開發(fā)時間序列calendar模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進步早日升職加薪2021-11-11
如何用tempfile庫創(chuàng)建python進程中的臨時文件
這篇文章主要介紹了如何用tempfile庫創(chuàng)建python進程中的臨時文件,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01

