最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中@property和property函數(shù)常見使用方法示例

 更新時(shí)間:2019年10月21日 09:35:09   作者:以夢(mèng)為馬越騎越傻  
這篇文章主要介紹了python中@property和property函數(shù)常見使用方法,結(jié)合實(shí)例形式分析了Python @property和property函數(shù)功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了python中@property和property函數(shù)常見使用方法。分享給大家供大家參考,具體如下:

1、基本的@property使用,可以把函數(shù)當(dāng)做屬性用

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

運(yùn)行結(jié)果:

我叫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

運(yùn)行結(jié)果:

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

3、@property demo

class Goods(object):
  def __init__(self):
    #原價(jià)
    self.original_price = 100
    #折扣
    self.discount = 0.8
  @property
  def price(self):
    #實(shí)際價(jià)格=原價(jià)*折扣
    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函數(shù)使用

class Foo(object):
  def get_name(self):
    print('get_name')
    return 'laowang'
  def set_name(self, value):
    '''必須兩個(gè)參數(shù)'''
    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  #調(diào)用get方法
obj.NAME = 'alex'  #調(diào)用set方法
desc = Foo.NAME.__doc__   #調(diào)用第四個(gè)描述
print(desc)
del obj.NAME  #調(diào)用第三個(gè)刪除方法

運(yùn)行結(jié)果:

get_name
set_name
description.
del_name

5、property函數(shù)操作私有屬性的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))

運(yùn)行結(jié)果:

20

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

九龙坡区| 鲁山县| 江阴市| 石屏县| 昌乐县| 钟山县| 辉县市| 田阳县| 土默特左旗| 云梦县| 曲周县| 巩留县| 于都县| 谢通门县| 浙江省| 东平县| 承德市| 双牌县| 新沂市| 衡阳县| 洪湖市| 长治市| 昌邑市| 兴文县| 永修县| 沈丘县| 聂荣县| 即墨市| 锡林郭勒盟| 油尖旺区| 宁安市| 黎城县| 南丰县| 甘孜县| 呈贡县| 水富县| 竹北市| 化州市| 安多县| 简阳市| 新化县|