中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

@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

全南县| 东山县| 长宁县| 阿克| 陆川县| 南安市| 杂多县| 德兴市| 尚志市| 克拉玛依市| 铜陵市| 玉林市| 佛坪县| 兴城市| 雷山县| 巴青县| 宜兴市| 聊城市| 荆州市| 阿坝县| 营山县| 中西区| 唐河县| 徐汇区| 长沙市| 新平| 融水| 凉山| 金乡县| 文化| 宜阳县| 酒泉市| 大新县| 安福县| 宜昌市| 河南省| 石泉县| 虎林市| 通许县| 措勤县| 桐城市|