python property用法,Python@property

  python property用法,Python@property

  本文主要介绍python@property的用法。简单来说,类中的方法一旦被@property修饰,就可以像属性一样被调用。它可以简化呼叫者获取数据的过程。感兴趣的朋友可以跟随边肖去看一看。

  00-1010 1.什么是Property2。属性定义的两种方式3。使用属性而不是getter和setter方法。

  

目录

 

  简单来说,类中的方法一旦被@property修饰,就可以像属性一样被调用。可以简化调用者获取数据的过程,不用担心暴露属性,会有人分配(避免用户不合理操作)。有两点需要注意

  当调用修饰方法时,当使用不带括号的方法定义时,只有一个参数,class Goods():

  def __init__(自身,单价,重量):

  self .单价=单价

  自重=重量

  @属性

  定义价格(自身):

  返回自身.单价*自身.重量

  柠檬=商品(7,4)

  柠檬。价格

  28

  上述方法通过调用属性直接调用price方法,属性将复杂的处理过程封装到方法中,取值时可以调用相应的方法名。

  

1.什么是property

 

  一、装饰装置模式

  将@property decorator应用到类的方法上,也就是上面的方式。

  b、类属性模式

  创建实例对象以分配给类属性。

  柠檬类():

  def __init__(self,unit_price=7):

  self .单价=单价

  def get_unit_price(自身):

  返回自己的单价

  定义set_unit_price(self,new_unit_price):

  self .单价=新单价

  def del_unit_price(自身):

  del self .单价

  x=属性(获取单位价格,设置单位价格,删除单位价格)

  水果=柠檬()

  当fruit.x #调用fruit.x时触发Get_unit_price。

  7

  Fruit.x=9 #调用Fruit.x=9触发set_unit_price

  水果. x

  9

  Get_unit_price是调用fruit.unit_price #触发的。

  9

  Del fruit.x #调用Del fruit.x触发del_unit_price。

  水果.单价

  回溯(最近呼叫):

  模块中文件“pyshell#23”的第1行

  l .单价

  AttributeError:“柠檬”对象没有属性“unit_price”

  属性方法可以接收四个参数

  第一个参数是属性的方法名,当对象。属性,第二个参数是设置属性的方法名,第三个参数是删除属性的方法名,第四个参数是字符串,是属性的描述文档,当对象。调用attribute.doc。

  

2.property属性定义的两种方式

 

  西瓜类():

  def __init__(self,price):

  自我。_price=price #是私有属性,不能从外部修改和访问。

  def get_price(自身):

  回归自我。_价格

  定义set_price(self,new_price):

  如果新_价格0:

  自我。_price=新价格

  else:

  提高错误:价格必须大于零

  使用属性代替getter和setter

  西瓜类():

  def __init__(self,price):

  自我。_price=价格

  @property #用@property修饰价格方法

  定义价格(自身):

  回归自我。_价格

  @price.setter #使用@property装修方法,在价格赋值时调用装修方法。

  定义价格(自身,新价格):

  如果新_价格0:

  自我。_price=新价格

  else:

  提高错误:价格必须大于零

  西瓜=西瓜(4)

  西瓜.价格

  4

  西瓜。价格=7英镑

  西瓜.价格

  7

  关于python @property用法的这篇文章到此为止。有关python @property用法的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: