Python 私有化 屬性property

私有化

x: 公有變量
_x: 單前置下劃線,私有化屬性或方法,from somemodule import *禁止導(dǎo)入,類對(duì)象和子類可以訪問(wèn)
_xx:雙前置下劃線,避免與子類中的屬性命名沖突,無(wú)法在外部直接訪問(wèn)(名字重整所以訪問(wèn)不到)
xx:雙前后下劃線,用戶名字空間的魔法對(duì)象或?qū)傩浴@?init , __ 不要自己發(fā)明這樣的名字
xx
:單后置下劃線,用于避免與Python關(guān)鍵詞的沖突

父類中屬性名為名字的,子類不繼承,子類不能訪問(wèn)
如果在子類中向
名字賦值,那么會(huì)在子類中定義的一個(gè)與父類相同名字的屬性
_名的變量、函數(shù)、類在使用from xxx import *時(shí)都不會(huì)被導(dǎo)入

屬性property.

1:私有屬性添加getter和setter方法

class Money(object):
    def __init__(self):
        self.__money = 0

    def getMoney(self):
        return self.__money

    def setMoney(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print("error:不是整型數(shù)字")

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

class Money(object):
    def __init__(self):
        self.__money = 0

    def getMoney(self):
        return self.__money

    def setMoney(self, value):
        if isinstance(value, int):
            self.__money = value
        else:
            print("error:不是整型數(shù)字")
    money = property(getMoney, setMoney)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結(jié)構(gòu)(3).初始化時(shí)...
    歐辰_OSR閱讀 30,243評(píng)論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,663評(píng)論 1 32
  • 大綱 0.OC數(shù)據(jù)類型 1.聲明一個(gè)類 2.實(shí)現(xiàn)一個(gè)類 3.創(chuàng)建一個(gè)對(duì)象 4.對(duì)象的注意點(diǎn) 5.對(duì)象方法 6.類方...
    天天想念閱讀 1,193評(píng)論 0 3
  • 就今天就今天 早上因?yàn)閹氖虑檎媸嵌碌没?不過(guò)還好沒(méi)有放心上 然后一上午都很忙 膽道鏡 下午自習(xí) 做英語(yǔ)啦 復(fù)習(xí)...
    Emily_e135閱讀 318評(píng)論 0 0
  • 曲觴又盤腿而坐,閉目養(yǎng)神,調(diào)息數(shù)刻,待到李若水睡醒過(guò)來(lái),便牽來(lái)了馬,準(zhǔn)備出發(fā)。 下了一夜的雨,碧海天清,天空藍(lán)得仿...
    小小悶騷閱讀 358評(píng)論 0 1

友情鏈接更多精彩內(nèi)容