python中@property的作用
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的作用相关推荐
- python 中 property 属性的讲解及应用
Python中property属性的功能是:property属性内部进行一系列的逻辑计算,最终将计算结果返回 property属性的有两种方式: 装饰器 即:在方法上应用装饰器 类属性 即:在类中定义 ...
- python中property方法有用_python中@property和property函数常见使用方法示例
本文实例讲述了python中@property和property函数常见使用方法.分享给大家供大家参考,具体如下: 1.基本的@property使用,可以把函数当做属性用 class Person(o ...
- python的objectproperty,python中property(lambda self: object())简单解释,,最后4行lambda
python中property(lambda self: object())简单解释,,最后4行lambda 最后4行lambda.问题是:如何运作?它们的含义和结果是什么?您能否以简单的方式显示该声 ...
- python的property用法_在python中property怎样使用-百度经验
在python中property可以使类中的方法变为类中的属性一样来使用,使得类中的属性值不易暴露,更加安全,那么在python中property怎样使用呢?下面小编就带大家来看看详细的教程! 工具/ ...
- python中property函数_python 邮件表格Python中property函数用法实例分析
本文实例讲述了Python中property函数用法.分享给大家供大家参考,具体如下: 通常我们在访问和赋值属性的时候,都是在直接和类(实例的)的__dict__打交道,或者跟数据描述符等在打交道.但 ...
- python 中/ 与 //的作用、用法
python 中/ 与 //的作用.用法 原创蓝莓·山药 最后发布于2019-06-21 09:27:54 阅读数 3591 收藏 展开 python语法中, / 是除法,例如:2/3 = 0.66 ...
- python property作用_python中@property的作用和getter setter的解释
@property作用: python的@property是python的一种装饰器,是用来修饰方法的. 我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同 ...
- python的中文含义-python中的 * 和 ** 作用含义
python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整个元组赋值给变量 ...
- python列表迭代器_关于Python中迭代器的作用
迭代器的定义:含有__iter__()方法和__next__()方法的就是迭代器,即(iterate) 含有__iter__()方法就可以使用for循环,即iterable(可迭代的) Iterabl ...
- python中main的作用_浅析python 中__name__ = '__main__' 的作用
很多新手刚开始学习python的时候经常会看到python 中__name__ = \'__main__\' 这样的代码,可能很多新手一开始学习的时候都比较疑惑,python 中__name__ = ...
最新文章
- 哈佛管理论丛:谁背上了令人讨厌的猴子
- 取值范围_从int取值范围谈起
- 人工智能帮助预测混合用药的副作用
- 约瑟夫环之循环链表实现
- wince下的蓝牙串口通信
- Slim Span UVA - 1395
- php mssql 新 id,MSSQL获取当前插入数据的id
- 面向对象和面向过程的区别个人觉得是目前解释最好的
- 【selenium 小练手 抓取某大厂TP】
- java怎么得到1.5_如何使用httpclient获取SSL网站页面源码(jdk1.5)(中篇)
- fiddler监控手机请求
- js 根据公历日期 算出农历_JS简单获取当前日期和农历日期的方法
- build up__css
- php 协成wifi_2016最新协成wifi认证系统二次开发版源码 支持中文ssid 无加密无限制...
- html班级主题完整代码,HTML班级网站
- Redis 入门和 RedisTemplate 常用方法(常用命令 + 案例源码)
- 钢条切割问题(动态规划)
- rman命令之crosscheck
- 极客日报:vivo投资超49亿元建人才房;马斯克承认完全自动驾驶 “不是很好”;Edge浏览器出现无法关闭的广告
- 支付宝支付 62009
热门文章
- Qt使用QImage裁剪图片
- matlab 花体字母,小论文格式模板.doc
- 哪个大学开python课_2017春Python语言程序设计(天津大学仁爱学院)
- 小布语音下载安装_小布语音助手
- 东京大学情报理工学系研究科招生海报
- HTTP中GET,POST和PUT的区别
- ROS学习之发布消息——Publisher_代码分析
- 锁定计算机过久电脑自动关机,为什么电脑一锁定就会自动关机
- mintUI MessageBox confirm弹框确认和取消按钮的使用-回调
- Codeforces Round #521 (Div. 3) E. Thematic Contests(dp)