Python中的@property是一个装饰器,主要的作用是改变了类中方法的调用方式,具体的就是类实例化后的对象调用类中的方法一般后面需要加上“()”以表明调用的是方法,如果不加括号,说明调用的是类中的属性,但是经过@property修饰器修饰之后的方法,类实例化后的对象调用该方法时后面变不再需要加上小括号了,看起来就像是调用了类中的一个属性一样。因为这个装饰器所修饰方法的作用就是调用类中的属性,而类实例化对象便可以通过该方法间接调用到类中的私有属性,从而做到了更加规范化。
例子如下:

class People:def __init__(self):self.name = ''self.age = 0self.__weight = 0self.__images = 1# @propertydef weight(self):return self.__weight@propertydef images(self):return self.__imagesl = People()
print(l.weight())#实例如果要获取类中的私有属性,一般采取这种方式,但是这种当时看起来不统一,因为调用的是方法,容易引起混淆
print(l.images)#采用这种方法形式更加统一,读者一看便知道是调用的某个属性。
print(l._People__images)#这种强制性调用类中的私有属性一般不建议使用,这也说明了python没有真正的私有属性。
print(l.__images)   #私有属性无法通过这种方式获取到

结果如下:

0
1
1
Traceback (most recent call last):File "C:/Users/zhuhualong/PycharmProjects/test/test1.py", line 51, in <module>print(l.__images)   #私有属性无法通过这种方式获取到
AttributeError: 'People' object has no attribute '__images'Process finished with exit code 1

python中@property的作用相关推荐

  1. python 中 property 属性的讲解及应用

    Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...

  2. python中property方法有用_python中@property和property函数常见使用方法示例

    本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...

  3. python的objectproperty,python中property(lambda self: object())简单解释,,最后4行lambda

    python中property(lambda self: object())简单解释,,最后4行lambda 最后4行lambda.问题是:如何运作?它们的含义和结果是什么?您能否以简单的方式显示该声 ...

  4. python的property用法_在python中property怎样使用-百度经验

    在python中property可以使类中的方法变为类中的属性一样来使用,使得类中的属性值不易暴露,更加安全,那么在python中property怎样使用呢?下面小编就带大家来看看详细的教程! 工具/ ...

  5. python中property函数_python 邮件表格Python中property函数用法实例分析

    本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...

  6. python 中/ 与 //的作用、用法

    python 中/ 与 //的作用.用法 原创蓝莓·山药 最后发布于2019-06-21 09:27:54 阅读数 3591  收藏 展开 python语法中, / 是除法,例如:2/3 = 0.66 ...

  7. python property作用_python中@property的作用和getter setter的解释

    @property作用: python的@property是python的一种装饰器,是用来修饰方法的. 我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同 ...

  8. python的中文含义-python中的 * 和 ** 作用含义

    python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量 ...

  9. python列表迭代器_关于Python中迭代器的作用

    迭代器的定义:含有__iter__()方法和__next__()方法的就是迭代器,即(iterate) 含有__iter__()方法就可以使用for循环,即iterable(可迭代的) Iterabl ...

  10. python中main的作用_浅析python 中__name__ = '__main__' 的作用

    很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...

最新文章

  1. 哈佛管理论丛:谁背上了令人讨厌的猴子
  2. 取值范围_从int取值范围谈起
  3. 人工智能帮助预测混合用药的副作用
  4. 约瑟夫环之循环链表实现
  5. wince下的蓝牙串口通信
  6. Slim Span UVA - 1395
  7. php mssql 新 id,MSSQL获取当前插入数据的id
  8. 面向对象和面向过程的区别个人觉得是目前解释最好的
  9. 【selenium 小练手 抓取某大厂TP】
  10. java怎么得到1.5_如何使用httpclient获取SSL网站页面源码(jdk1.5)(中篇)
  11. fiddler监控手机请求
  12. js 根据公历日期 算出农历_JS简单获取当前日期和农历日期的方法
  13. build up__css
  14. php 协成wifi_2016最新协成wifi认证系统二次开发版源码 支持中文ssid 无加密无限制...
  15. html班级主题完整代码,HTML班级网站
  16. Redis 入门和 RedisTemplate 常用方法(常用命令 + 案例源码)
  17. 钢条切割问题(动态规划)
  18. rman命令之crosscheck
  19. 极客日报:vivo投资超49亿元建人才房;马斯克承认完全自动驾驶 “不是很好”;Edge浏览器出现无法关闭的广告
  20. 支付宝支付 62009

热门文章

  1. Qt使用QImage裁剪图片
  2. matlab 花体字母,小论文格式模板.doc
  3. 哪个大学开python课_2017春Python语言程序设计(天津大学仁爱学院)
  4. 小布语音下载安装_小布语音助手
  5. 东京大学情报理工学系研究科招生海报
  6. HTTP中GET,POST和PUT的区别
  7. ROS学习之发布消息——Publisher_代码分析
  8. 锁定计算机过久电脑自动关机,为什么电脑一锁定就会自动关机
  9. mintUI MessageBox confirm弹框确认和取消按钮的使用-回调
  10. Codeforces Round #521 (Div. 3) E. Thematic Contests(dp)