国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

私有化規(guī)則與屬性Property

whjin / 1250人閱讀

摘要:上一篇文章裝飾器真正入門的鑒定標(biāo)準(zhǔn)下一篇文章垃圾回收詳解私有化變量定義規(guī)則變量形式解讀公有變量單前置下劃線,私有化屬性或方法,禁止導(dǎo)入,類對(duì)象和子類進(jìn)可以訪問。雙前置下劃線,避免與子類中的屬性命名沖突,無法再在外部直接訪問。

上一篇文章:Python裝飾器:python真正入門的鑒定標(biāo)準(zhǔn)
下一篇文章:Python垃圾回收詳解
1、私有化

變量定義規(guī)則

變量形式 解讀
xx 公有變量xx
_xx 單前置下劃線,私有化屬性或方法,from somemodule import *禁止導(dǎo)入,類對(duì)象和子類進(jìn)可以訪問。
__xx 雙前置下劃線,避免與子類中的屬性命名沖突,無法再在外部直接訪問。
__xx__ 雙前后下劃線,python自定義使用的的屬性或者方法名稱,例如__init__,不要自定義這種名稱的變量
x_ 單后置下劃線,避免與Python關(guān)鍵詞沖突
2、屬性Property

私有屬性添加getter和setter方法

實(shí)例:

class Man():
    def __init__(self):
        self.__age=18
    def getAge(self):
        return self.__age
    def setAge(self,value):
        #isinstance用來判斷一個(gè)對(duì)象是不是指定類型
        #下面語(yǔ)句就是用來判斷value是不是int類型
        if isinstance(value,int):
            self.__age=value
        else:
            print("輸入的年齡不是整數(shù)")

if __name__=="__main__":
    mark=Man()

    mark.setAge("xxx")
    print(mark.getAge())
    mark.setAge(20)
    print(mark.getAge())

    #下面一句會(huì)報(bào)錯(cuò)
    #print(mark.age)

結(jié)果:

輸入的年齡不是整數(shù)
18
20

使用property升級(jí)getter和setter方法

實(shí)例:

class Man():
    def __init__(self):
        self.__age = 18

    def getAge(self):
        return self.__age

    def setAge(self, value):
        # isinstance用來判斷一個(gè)對(duì)象是不是指定類型
        # 下面語(yǔ)句就是用來判斷value是不是int類型
        if isinstance(value, int):
            self.__age = value
        else:
            print("輸入的年齡不是整數(shù)")
    age=property(getAge,setAge)


if __name__ == "__main__":
    mark = Man()

    mark.age="xxx"
    print(mark.age)
    mark.age=20
    print(mark.age)

結(jié)果:

輸入的年齡不是整數(shù)
18
20

使用property取代getter和setter方法

實(shí)例:

class Man():
    def __init__(self):
        self.__age = 18

    @property
    def age(self):
        return self.__age
    @age.setter
    def age(self,value):
        # isinstance用來判斷一個(gè)對(duì)象是不是指定類型
        # 下面語(yǔ)句就是用來判斷value是不是int類型
        if isinstance(value, int):
            self.__age = value
        else:
            print("輸入的年齡不是整數(shù)")


if __name__ == "__main__":
    mark = Man()

    mark.age="xxx"
    print(mark.age)
    mark.age=20
    print(mark.age)

結(jié)果:

輸入的年齡不是整數(shù)
18
20

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/42260.html

相關(guān)文章

  • Python中的動(dòng)態(tài)屬性和特性

    摘要:一利用動(dòng)態(tài)屬性處理數(shù)據(jù)源屬性在中,數(shù)據(jù)的屬性和處理數(shù)據(jù)的方法統(tǒng)稱屬性。處理無效屬性名在中,由于關(guān)鍵字被保留,名稱為關(guān)鍵字的屬性是無效的。內(nèi)置函數(shù)列出對(duì)象的大多數(shù)屬性。點(diǎn)號(hào)和內(nèi)置函數(shù)會(huì)觸發(fā)這個(gè)方法。 導(dǎo)語(yǔ):本文章記錄了本人在學(xué)習(xí)Python基礎(chǔ)之元編程篇的重點(diǎn)知識(shí)及個(gè)人心得,打算入門Python的朋友們可以來一起學(xué)習(xí)并交流。 本文重點(diǎn): 1、了解如何利用動(dòng)態(tài)屬性處理數(shù)據(jù);2、掌握Pyth...

    scola666 評(píng)論0 收藏0
  • @ConfigurationProperties 注解使用姿勢(shì),這一篇就夠了

    摘要:在項(xiàng)目中,為滿足以上要求,我們將大量的參數(shù)配置在或文件中,通過注解,我們可以方便的獲取這些參數(shù)值使用配置模塊假設(shè)我們正在搭建一個(gè)發(fā)送郵件的模塊。這使得在不影響其他模塊的情況下重構(gòu)一個(gè)模塊中的屬性變得容易。 在編寫項(xiàng)目代碼時(shí),我們要求更靈活的配置,更好的模塊化整合。在 Spring Boot 項(xiàng)目中,為滿足以上要求,我們將大量的參數(shù)配置在 application.properties 或...

    SolomonXie 評(píng)論0 收藏0
  • @ConfigurationProperties 注解使用姿勢(shì),這一篇就夠了

    摘要:在項(xiàng)目中,為滿足以上要求,我們將大量的參數(shù)配置在或文件中,通過注解,我們可以方便的獲取這些參數(shù)值使用配置模塊假設(shè)我們正在搭建一個(gè)發(fā)送郵件的模塊。這使得在不影響其他模塊的情況下重構(gòu)一個(gè)模塊中的屬性變得容易。 在編寫項(xiàng)目代碼時(shí),我們要求更靈活的配置,更好的模塊化整合。在 Spring Boot 項(xiàng)目中,為滿足以上要求,我們將大量的參數(shù)配置在 application.properties 或...

    KoreyLee 評(píng)論0 收藏0
  • 從ES6重新認(rèn)識(shí)JavaScript設(shè)計(jì)模式(五): 代理模式和Proxy

    摘要:此時(shí),鏈家起到的作用就是代理的作用。驗(yàn)證代理構(gòu)造函數(shù)第二個(gè)參數(shù)中的方法,可以很方便的驗(yàn)證向一個(gè)對(duì)象的傳值。 1 什么是代理模式 showImg(https://segmentfault.com/img/remote/1460000015800706?w=1262&h=464); 為其他對(duì)象提供一種代理以控制對(duì)這個(gè)對(duì)象的訪問。在某些情況下,一個(gè)對(duì)象不適合或者不能直接引用另一個(gè)對(duì)象,而代理...

    verano 評(píng)論0 收藏0
  • JavaScript 為什么要有 Symbol 類型

    摘要:也有類似的概念,它是根據(jù)傳遞的數(shù)據(jù)類型推斷的。這個(gè)特性的名稱被稱為私有字段,雖然這不會(huì)使所有對(duì)象受益,但會(huì)使類實(shí)例的對(duì)象受益。警告中有一個(gè)功能會(huì)破壞代理的隱私。 showImg(https://segmentfault.com/img/bVbpL6y?w=800&h=456); Symbols 是 ES6 引入了一個(gè)新的數(shù)據(jù)類型 ,它為 JS 帶來了一些好處,尤其是對(duì)象屬性時(shí)。 但是,...

    lemanli 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<