簡單介紹python封裝的基本知識
python封裝簡介
1.效果圖:
對比一:

對比二:

2.學(xué)習(xí)來源代碼:
# 封裝是面向?qū)ο蟮娜筇匦灾?
# 封裝指的是隱藏對象中一些不希望被外部所訪問到的屬性或方法
# 如何隱藏一個(gè)對象中的屬性?
# - 將對象的屬性名,修改為一個(gè)外部不知道的名字
# 如何獲?。ㄐ薷模ο笾械膶傩??
# - 需要提供一個(gè)getter和setter方法使外部可以訪問到屬性
# - getter 獲取對象中的指定屬性(get_屬性名)
# - setter 用來設(shè)置對象的指定屬性(set_屬性名)
# 使用封裝,確實(shí)增加了類的定義的復(fù)雜程度,但是它也確保了數(shù)據(jù)的安全性
# 1.隱藏了屬性名,使調(diào)用者無法隨意的修改對象中的屬性
# 2.增加了getter和setter方法,很好的控制的屬性是否是只讀的
# 如果希望屬性是只讀的,則可以直接去掉setter方法
# 如果希望屬性不能被外部訪問,則可以直接去掉getter方法
# 3.使用setter方法設(shè)置屬性,可以增加數(shù)據(jù)的驗(yàn)證,確保數(shù)據(jù)的值是正確的
# 4.使用getter方法獲取屬性,使用setter方法設(shè)置屬性
# 可以在讀取屬性和修改屬性的同時(shí)做一些其他的處理
# 5.使用getter方法可以表示一些計(jì)算的屬性
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('旺財(cái)',8)
# d.say_hello()
# 調(diào)用setter來修改name屬性
d.set_name('小黑')
d.set_age(-10)
# d.say_hello()
print(d.get_age())
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼
這篇文章主要介紹了Django項(xiàng)目中使用JWT的實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法
這篇文章主要介紹了Python使用內(nèi)置json模塊解析json格式數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Python使用內(nèi)置的json模塊實(shí)現(xiàn)json格式數(shù)據(jù)的解析、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-07-07
對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解
今天小編就為大家分享一篇對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
OpenCV Python實(shí)現(xiàn)拼圖小游戲
這篇文章主要為大家詳細(xì)介紹了OpenCV Python實(shí)現(xiàn)拼圖版小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
python編程開發(fā)時(shí)間序列calendar模塊示例詳解
這篇文章主要為大家介紹了python編程開發(fā)時(shí)間序列calendar模塊示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助祝大家多多進(jìn)步早日升職加薪2021-11-11
用Python實(shí)現(xiàn)QQ游戲大家來找茬輔助工具
這是一個(gè)用于QQ大家來找茬(美女找茬)的輔助外掛,開發(fā)的原因是看到老爸天天在玩這個(gè)游戲,分?jǐn)?shù)是慘不忍睹的負(fù)4000多。本來是想寫個(gè)很簡單的東西,但由于過程中老爸的多次嘲諷,逼得我不得不盡力完善,最后形成了一個(gè)小小的產(chǎn)品。2014-09-09
如何用tempfile庫創(chuàng)建python進(jìn)程中的臨時(shí)文件
這篇文章主要介紹了如何用tempfile庫創(chuàng)建python進(jìn)程中的臨時(shí)文件,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01

