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属性使得其达到了数据过滤的作用

property简单知识点相关推荐

  1. 13. 找出数组中重复的数字【难度: 简单 / 知识点: 模拟】

    13. 找出数组中重复的数字[难度: 简单 / 知识点: 模拟] 方法一: map 计数 时间复杂度O(nlongn) 空间复杂度多了一个二叉树 class Solution {public:int ...

  2. Linux简单知识点梳理(持续更新中)_莫韵乐的Linux王国

    Linux简单知识点梳理(持续更新中) Linux系统特点 特点 开放性 多用户 良好的用户界面 提供丰富的网络功能 设备独立性 可靠的系统安全 良好的可移植性 ##### Linux系统体系结构 名 ...

  3. html5移动web开发简答题,HTML5移动Web开发简单知识点介绍

    原标题:HTML5移动Web开发简单知识点介绍 1 :基于HTML5的移动Web应用 Canvas绘图:通过获取HTML中的Dom元素Canvas,调用其渲染上下文的Context对象,使用Js进行图 ...

  4. 【C语言基础】利用C语言简单知识点实现计算器加减乘除运算功能

    利用循环语句以及函数调用实现计算器的简单功能 计算器是我们在学习生活中不可或缺的一个工具,有时候要计算一些比较复杂的数据时只能借助于计算器.基本上每个人都会使用计算器,那么如何利用C语言设计出一个自己 ...

  5. Java简单知识点小结

    1.AJAX 1. 概念: ASynchronous JavaScript And XML 异步的JavaScript 和 XML1. 异步和同步:客户端和服务器端相互通信的基础上* 客户端必须等待服 ...

  6. 1132 Cut Integer (20 分)【难度: 简单 / 知识点: 模拟】

    https://pintia.cn/problem-sets/994805342720868352/problems/994805347145859072 就是简单的模拟即可. #include< ...

  7. mtk-drm property简单理解

    前面我们已经知道了,应用层通过修改property,然后调用AtomicCommit来统一提交修改,要理解property需要先理解drm_mode_object. drm_mode_object是K ...

  8. 数据库索引的简单知识点

    一.一张图表示myisam和Innodb储存引擎的区别? 二.创建索引的几大原则 2.1 列的离散型 离散型的计算公式:count(distinct column_name):count(*),就是用 ...

  9. 1152 Google Recruitment (20 分)【难度: 简单 / 知识点: 模拟】

    https://pintia.cn/problem-sets/994805342720868352/problems/1071785055080476672 #include<bits/stdc ...

最新文章

  1. android studio使用nodejs本地服务器json数据_使用Node.js的Alexa技巧
  2. Python基础-re模块
  3. why SpringComponentScanServer is needed
  4. 7z解压crc错误_winrar压缩包提示crc校验和错误,文件被破坏的解决办法
  5. C\C++ 获取当前路径
  6. 浙大 PAT a1027
  7. struts2(2012/2/25)
  8. C# WPF网络实时监测客户端
  9. Oracle与MySQL的备份还原及密码修改等
  10. Chrome浏览器快捷键大全
  11. 微信公众号申请开通微信支付
  12. 性能测试瓶颈分析与系统调优(1)项目部署与测试环境工具安装
  13. 数据分析方法论2:交叉平均分析法
  14. 肠道核心菌属——优/真杆菌属(Eubacterium),你为什么要关心它?
  15. 数据库系统:第二章关系数据库
  16. Tabby sftp 下载文件夹
  17. 腾讯社招 —— 腾讯游戏后端工程师(一面)
  18. 转载:汶川大地震中业余无线电应急通讯发挥作用
  19. std::string int 转换
  20. 自动售货机html代码,自动售货机系统源代码.doc

热门文章

  1. javaee的OA项目(二) 实现对部门的增删改查
  2. excel进行模具管理之VBA菜单编程
  3. 百度云bae安装discuz论坛教程
  4. $.getJSON 解决跨域问题
  5. python廖雪峰 序列化
  6. 网络实名制离我们越来越近
  7. Day228229.上传查询医院接口、上传查询删除科室接口、上传查询删除排班接口 -尚医通
  8. CentOS-7配置NFS服务及客户端挂载
  9. 流程图怎么画?如何轻松绘制流程图
  10. h5 3D框架和游戏引擎