簡(jiǎn)單介紹python封裝的基本知識(shí)
python封裝簡(jiǎn)介
1.效果圖:
對(duì)比一:

對(duì)比二:

2.學(xué)習(xí)來(lái)源代碼:
# 封裝是面向?qū)ο蟮娜筇匦灾?
# 封裝指的是隱藏對(duì)象中一些不希望被外部所訪問(wèn)到的屬性或方法
# 如何隱藏一個(gè)對(duì)象中的屬性?
# - 將對(duì)象的屬性名,修改為一個(gè)外部不知道的名字
# 如何獲?。ㄐ薷模?duì)象中的屬性?
# - 需要提供一個(gè)getter和setter方法使外部可以訪問(wèn)到屬性
# - getter 獲取對(duì)象中的指定屬性(get_屬性名)
# - setter 用來(lái)設(shè)置對(duì)象的指定屬性(set_屬性名)
# 使用封裝,確實(shí)增加了類的定義的復(fù)雜程度,但是它也確保了數(shù)據(jù)的安全性
# 1.隱藏了屬性名,使調(diào)用者無(wú)法隨意的修改對(duì)象中的屬性
# 2.增加了getter和setter方法,很好的控制的屬性是否是只讀的
# 如果希望屬性是只讀的,則可以直接去掉setter方法
# 如果希望屬性不能被外部訪問(wèn),則可以直接去掉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()用來(lái)獲取對(duì)象的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來(lái)修改name屬性
d.set_name('小黑')
d.set_age(-10)
# d.say_hello()
print(d.get_age())
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的示例代碼
這篇文章主要介紹了Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的的相關(guān)示例,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04
關(guān)于Numpy數(shù)據(jù)類型對(duì)象(dtype)使用詳解
今天小編就為大家分享一篇關(guān)于Numpy數(shù)據(jù)類型對(duì)象(dtype)使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11
pyecharts如何實(shí)現(xiàn)顯示數(shù)據(jù)為百分比的柱狀圖
這篇文章主要介紹了pyecharts如何實(shí)現(xiàn)顯示數(shù)據(jù)為百分比的柱狀圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
Pytorch運(yùn)行過(guò)程中解決出現(xiàn)內(nèi)存不足的問(wèn)題
內(nèi)存不足是很多人感到頭疼的問(wèn)題,本文主要介紹了Pytorch運(yùn)行過(guò)程中解決出現(xiàn)內(nèi)存不足的問(wèn)題,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
pandas刪除行刪除列增加行增加列的實(shí)現(xiàn)
這篇文章主要介紹了pandas刪除行刪除列增加行增加列的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python中g(shù)lobal關(guān)鍵字的用法詳解
Python是一種簡(jiǎn)單而強(qiáng)大的編程語(yǔ)言,提供了許多功能和語(yǔ)法來(lái)幫助開(kāi)發(fā)人員編寫高效的代碼,其中一個(gè)常用的功能是使用global關(guān)鍵字來(lái)在函數(shù)內(nèi)部訪問(wèn)和修改全局變量,在本文中,我們將深入探討Python中g(shù)lobal關(guān)鍵字的用法,以及使用它的一些最佳實(shí)踐2023-12-12

