私人屬性,

來源:互聯網
上載者:User

私人屬性,

私人屬性添加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:不是整形數字")

Money = property(getMoney,setMoney)

在上述代碼中,我們通過get方法進行擷取。

運行結果:

In[1]: from get_set import Money

In[2]:a = Money()

In[3]:a.Money

二:

class Test(object):

def __init__(self):

self.__num = 100

def setNum(self,NewNum):

self.__num = NewNum

def getNum(self):

return self.__num

num = property(getNum,setNum)

t = Test()

print(t.getNum())

t.setNum(40)

print(t.getNum())

t.num = 50

print('-'*50)

t.num=200

print(t.num)

私人屬性之property的使用:

在我們學習變數的過程中,我們常常有時候會遇到私人屬性的問題,這些屬性在我們使用的過程會造成困擾,我們這時可能會使用property來進行避免,具體操作如下

#----*coding:utf-8----

class Money(object):

def __init__(self):

self.money=0

@property

def money(self):

return self.__money

@money.setter

def money(self,value):

if isinstance(value,int):

self.__money = value

else:

print("error:")

i=Money()

print(i.money)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.