property简单知识点

property属性
除去类属性和实例属性外另外一种属性
在这里插入图片描述普通的方法前边加了一个property之后,接下来就由一个特殊功能的体现
在调用 proop的方法的时候就变了,仔细观察上图中最后一行,发现调用prop方法没有写(),这样的形式一般返回一个值。
这就是property,而且返回的值是代码,foo_obj.pop的返回值
这就是property属性
在这里插入图片描述property给人的感觉是明明调用函数但是却看上去访问了一个属性。所以可读性上来讲size的可读性更高。方便
property有个特点,就是例如上图中装饰只有一个size,不能再多。
以下的两个例子说明
在这里插入图片描述
以上图片说明了property属性调用size的时候其实调用的返回值int类型的100
在这里插入图片描述
这次多加了一个参数,明显也出错
所以调用property属性的时候不能多写参数。

创建propery属性的方式

创建property属性的方式----装饰器
创建property属性的方式—-类属性

一、创建property属性的方式----装饰器

@property
底下的函数得有返回值
经典类和新式类不一样,如果是经典类python2只用property一种方式
如果是新式类的话就可以用property三种方式以下三种方式
在这里插入图片描述
在python3新式类中的三种方式

  1. 去price的值
  2. 设置rice的价格
  3. 删除价格的值

在这里插入图片描述在这里插入图片描述
上图中obj.price = 200 传给value
以上是新式类中创建property属性的三种方法

二、创建property属性的方式—-类属性
BAR = property(get_bar)
obj = Fool()# 创建类对象
result = obj.BAR
print(result)

property接收四个参数

在这里插入图片描述在这里插入图片描述以上图中获取,设置,获取文档说明,删除
介绍Django框架和Flask框架,相比来说Flask框架是轻量级框架
Django框架运用了property。Django框架是个特别繁杂的框架
目的:简化流程

property应用场景demo

在这里插入图片描述定义了一个类,类中有一个私有属性,不想让对象直接获取私有属性的值,因此设置一个方法获取值。get方法和set方法一般在其他语言中配合。可以权限验证,ifinstance如果是int类型则值为True,如果在isinstace的值传过来的是数字,则把数字传给money。起到了防护和验证作用。但是python不这么做
看以下代码,使用property属性使得其私有属性验证和防护更加容易在这里插入图片描述在这里插入图片描述使用property属性使得其达到了数据过滤的作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值