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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。