亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

@property和property函數怎么在python項目中使用

發布時間:2021-03-23 16:05:56 來源:億速云 閱讀:152 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關@property和property函數怎么在python項目中使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1、基本的@property使用,可以把函數當做屬性用

class Person(object):
  @property
  def get_name(self):
    print('我叫xxx')
def main():
  person = Person()
  person.get_name
if __name__ == '__main__':
  main()

運行結果:

我叫xxx

2、@property的set,deleter,get

class Goods(object):
  @property
  def price(self):
    print('@property')
  @price.setter
  def price(self,value):
    print('@price.setter:'+str(value))
  @price.deleter
  def price(self):
    print('@price.deleter')
obj = Goods()
obj.price = 50
obj.price
del obj.price

運行結果:

@price.setter:50
@property
@price.deleter

3、@property demo

class Goods(object):
  def __init__(self):
    #原價
    self.original_price = 100
    #折扣
    self.discount = 0.8
  @property
  def price(self):
    #實際價格=原價*折扣
    new_price = self.original_price*self.discount
    return new_price
  @price.setter
  def price(self,value):
    self.original_price = value
  @price.deleter
  def price(self):
    del self.original_price
obj = Goods()
obj.price
obj.price = 200
del obj.price

4、property函數使用

class Foo(object):
  def get_name(self):
    print('get_name')
    return 'laowang'
  def set_name(self, value):
    '''必須兩個參數'''
    print('set_name')
    return 'set value' + value
  def del_name(self):
    print('del_name')
    return 'laowang'
  NAME = property(get_name, set_name, del_name, 'description.')
obj = Foo()
obj.NAME  #調用get方法
obj.NAME = 'alex'  #調用set方法
desc = Foo.NAME.__doc__   #調用第四個描述
print(desc)
del obj.NAME  #調用第三個刪除方法

運行結果:

get_name
set_name
description.
del_name

5、property函數操作私有屬性的get和set方法

class Person(object):
  def __init__(self, age):
    self.__age = age
  def set_age(self, value):
    self.__age = value
  def get_age(self):
    return self.__age
  AGE = property(get_age, set_age)
person = Person(15)
person.AGE = 20
print(str(person.AGE))

運行結果:

20

看完上述內容,你們對@property和property函數怎么在python項目中使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸溪县| 景泰县| 柳林县| 广昌县| 长宁区| 泽库县| 兰溪市| 道真| 绍兴市| 景洪市| 萍乡市| 卓尼县| 钟祥市| 日喀则市| 梨树县| 蕉岭县| 巩留县| 邢台市| 清水河县| 神农架林区| 延寿县| 盱眙县| 莒南县| 宜黄县| 武冈市| 葫芦岛市| 大宁县| 建昌县| 金昌市| 曲松县| 三亚市| 安义县| 涿州市| 揭阳市| 体育| 龙州县| 桦甸市| 益阳市| 游戏| 沙洋县| 小金县|