91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

@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

泰和县| 江达县| 岐山县| 隆子县| 北京市| 南投县| 利津县| 浙江省| 镇宁| 黄梅县| 长泰县| 汤阴县| 张家川| 卢湾区| 赞皇县| 芒康县| 双鸭山市| 扎鲁特旗| 平果县| 共和县| 上蔡县| 稻城县| 温宿县| 抚宁县| 东港市| 靖宇县| 抚州市| 焦作市| 泰宁县| 乐陵市| 睢宁县| 东海县| 涞水县| 棋牌| 万源市| 福贡县| 禹州市| 杨浦区| 贡嘎县| 高邮市| 普定县|