最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python屬性私有化詳解

 更新時間:2023年02月08日 10:13:43   作者:HaiFan.  
私有化是為了實現更好的封裝形式。能隱藏屬性,不被隨意修改。以前置雙下劃線__屬性/方法名定義,但是結尾不能是雙下劃線。如果不讓某些屬性在類外部被隨意更改,可設置成私有屬性。在類定義的內部可以訪問

前言

在做程序的過程中,有時候程序猿不想讓外人動一些值,這個時候,就可以考慮把一些變量進行私有化

__屬性:就是將屬性私有化,訪問范圍僅僅限于類中。

私有化屬性

私有化屬性只需要以雙下劃線開頭,聲明該屬性為私有屬性即可,聲明之后就不能在類外部使用或直接訪問。

class Student:
    __age = 10
a = Student()
print(a.__age)

私有化屬性的有三個特性:

  • 不能在類外面訪問
  • 可以在類里面訪問,修改
  • 子類不能繼承私有化屬性

set和get

set是為了賦值,給私有化屬性賦值。

get是為了取值,把私有化屬性的值取出來。

class Student:
    __age = 10
    def __init__(self ,age):
        self.age = age
    # 定義公有的set方法和get方法
    def set_age(self ,age):
        self.__age = age
    def get_age(self):
        return self.__age
a = Student('100')
print(a.get_age())
a.set_age(1000)
print(a.get_age())

私有化好處:

隱藏屬性不被外界隨意修改(在set里面加一些判斷,防止被隨意修改)

也可以修改,通過函數完成

def setXXX(self,xxx):
    篩選賦值內容
    if 條件:
        賦值
    else:
        不賦值

如果想獲取具體的某一個屬性,使用get函數來完成

def getXXX(self):
    return 要返回的某一個屬性

通過set和get函數即可完成對私有化屬性的一些操作。

裝飾器@property

class Stu:
    def __init__(self,name,age):
        self.name = name
        self.__age = age
    def set_age(self,age):
        if age > 0 and age < 100:
            self.__age = age
        else:
            print('不在規(guī)定范圍內')
    def get_age(self):
        return self.__age
    def __str__(self):
        return 'name: {} \nage:{}'.format(self.name,self.__age)
a = Stu('lisan',20)
a.name = 'wangwu'
print(a.name)
a.set_age(30)
print(a.get_age())

當我想訪問私有屬性的時候,只能通過get和set函數來訪問。

通過裝飾器,就可以讓私有屬性當作屬性一樣去調用。

class Stu:
    def __init__(self,name,age):
        self.name = name
        self.__age = age
    @property
    def age(self):
        return self.__age
    @age.setter
    def age(self,age):
        self.__age = age
    def __str__(self):
        return 'name: {} \nage:{}'.format(self.name,self.__age)
a = Stu('lisan',20)
a.age = 90
print(a)
a.age = 40
print(a)

到此這篇關于Python屬性私有化詳解的文章就介紹到這了,更多相關Python私有化內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • python基礎教程之元組操作使用詳解

    python基礎教程之元組操作使用詳解

    這篇文章主要介紹了python的元組操作使用方法,需要的朋友可以參考下
    2014-03-03
  • PYTHON正則表達式 re模塊使用說明

    PYTHON正則表達式 re模塊使用說明

    正則表達式是一個復雜的主題。本文能否有助于你理解呢?那些部分是否不清晰,或在這兒沒有找到你所遇到的問題?如果是那樣的話,請將建議發(fā)給作者以便改進
    2011-05-05
  • 使用Flask和Django中解決跨域請求問題

    使用Flask和Django中解決跨域請求問題

    這篇文章主要介紹了使用Flask和Django中解決跨域請求問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • python中文編碼問題小結

    python中文編碼問題小結

    這篇文章主要介紹了python中文編碼問題,是Python程序設計中比較常見的一類問題,本文以實例形式對此進行了較為詳細的總結,需要的朋友可以參考下
    2014-09-09
  • 在python?腳本下解析json數據

    在python?腳本下解析json數據

    這篇文章主要介紹了在python?腳本下解析json數據,json數據包括JSONObject和JSONArray,下文關于其解析的內容需要的小伙伴可以參考一下
    2022-04-04
  • Python加速程序運行的方法

    Python加速程序運行的方法

    這篇文章主要介紹了Python加速程序運行的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • 使用Python在Word中插入圖片并文字環(huán)繞的方法

    使用Python在Word中插入圖片并文字環(huán)繞的方法

    在Word文檔中插入圖片能夠提供更直觀的信息,插入圖片時,我們還可以調整圖片大小,以及設置合適的文字環(huán)繞方式,本文將提供兩種使用Python在Word文檔中插入圖片并設置文字環(huán)繞的方法,需要的朋友可以參考下
    2024-06-06
  • 使用PYTHON解析Wireshark的PCAP文件方法

    使用PYTHON解析Wireshark的PCAP文件方法

    今天小編就為大家分享一篇使用PYTHON解析Wireshark的PCAP文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • OpenCV實戰(zhàn)之OpenCV中的顏色空間

    OpenCV實戰(zhàn)之OpenCV中的顏色空間

    這篇文章主要介紹了OpenCV實戰(zhàn)之OpenCV中的顏色空間,解計算機視覺中常用的色彩空間,并將其用于基于顏色分割。我們還將用C?++和Python共享演示代碼,下文詳細內容需要的小伙伴可以參考一下
    2022-04-04
  • Python基礎之語法錯誤和異常詳解

    Python基礎之語法錯誤和異常詳解

    Python有兩種錯誤很容易辨認:語法錯誤和異常.本文就給大家詳細介紹一下Python錯誤和異常,對正在學習python的小伙伴們很有幫助哦,需要的朋友可以參考下
    2021-05-05

最新評論

吴桥县| 新平| 南充市| 顺昌县| 临澧县| 望城县| 韶关市| 恩施市| 武鸣县| 东光县| 扶风县| 福泉市| 资中县| 茌平县| 靖宇县| 黄梅县| 仪征市| 阿克陶县| 威远县| 道真| 河源市| 逊克县| 屯留县| 炎陵县| 沙雅县| 云林县| 蕉岭县| 水城县| 长武县| 和政县| 武安市| 盐亭县| 县级市| 卓资县| 雷州市| 平原县| 江西省| 宁国市| 海原县| 梅州市| 富蕴县|