(更新时间)2021年3月29日 python基础知识(property属性)
发布日期:2021-06-29 15:15:02 浏览次数:2 分类:技术文章

本文共 1280 字,大约阅读时间需要 4 分钟。

1. property属性的介绍

property属性就是负责把一个方法当做属性进行使用,这样做可以简化代码使用。

定义property属性有两种方式

  • 装饰器方式
  • 类属性方式

2. 装饰器方式

class Person(object):    def __init__(self):        self.__age = 0    # 装饰器方式的property, 把age方法当做属性使用, 表示当获取属性时会执行下面修饰的方法    @property    def age(self):        return self.__age    # 把age方法当做属性使用, 表示当设置属性时会执行下面修饰的方法    @age.setter    def age(self, new_age):        if new_age >= 150:            print("成精了")        else:            self.__age = new_age# 创建personp = Person()print(p.age)p.age = 100print(p.age)p.age = 1000

运行结果:

0100成精了

代码说明:

  • @property 表示把方法当做属性使用, 表示当获取属性时会执行下面修饰的方法
  • @方法名.setter 表示把方法当做属性使用,表示当设置属性时会执行下面修饰的方法
  • 装饰器方式的property属性修饰的方法名一定要一样。

3. 类属性方式

class Person(object):    def __init__(self):        self.__age = 0    def get_age(self):        """当获取age属性的时候会执行该方法"""        return self.__age    def set_age(self, new_age):        """当设置age属性的时候会执行该方法"""        if new_age >= 150:            print("成精了")        else:            self.__age = new_age    # 类属性方式的property属性    age = property(get_age, set_age)# 创建personp = Person()print(p.age)p.age = 100print(p.age)p.age = 1000

运行结果:

0100成精了

代码说明:

  • property的参数说明:

第一个参数是获取属性时要执行的方法

第二个参数是设置属性时要执行的方法

4. 小结

  • 定义property属性有两种方式:

装饰器方式

类属性方式

  • 装饰器方式:

@property 修饰获取值的方法

@方法名.setter 修饰设置值的方法

  • 类属性方式:

类属性 = property(获取值方法, 设置值方法)

转载地址:https://codeboy.blog.csdn.net/article/details/115294798 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(更新时间)2021年3月29日 python基础知识(with语句和上下文管理器)
下一篇:(更新时间)2021年3月28日 python基础知识(搭建自己的框架)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月06日 04时44分21秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2021年6月全国程序员薪资出炉,大佬您上榜了吗? 2019-04-29
零基础自学Python,你也可以实现经济独立! 2019-04-29
ElasticSearch与Mysql对比(ElasticSearch常用方法大全,持续更新) 2019-04-29
数字化转型的主干道上,华为云以“三大关键”成企业智能化推手 2019-04-29
数字化为何不走“捷”“径”? 2019-04-29
和总裁、专家交朋友,华为云助推政企智能化升级又做到前面去了 2019-04-29
BCOP章鱼船长,6月22日晚上8点上线薄饼 2019-04-29
为战疫助力,半导体功不可没 2019-04-29
了解这些操作,Python中99%的文件操作都将变得游刃有余! 2019-04-29
知道如何操作还不够!深入了解4大热门机器学习算法 2019-04-29
只有经历过,才能深刻理解的9个编程道理 2019-04-29
发现超能力:这些数据科学技能助你更高效专业 2019-04-29
AI当道,人工智能将如何改变金融业? 2019-04-29
消除性别成见,技术领域需要更多“乘风破浪的姐姐” 2019-04-29
7行代码击败整个金融业,这对20多岁的爱尔兰兄弟是如何做到的? 2019-04-29
2020十大编程博客:私藏的宝藏编程语言博客大放送! 2019-04-29
编程中的角色选择:哪类工作角色最适合你? 2019-04-29
10种算法一文打尽!基本图表算法的视觉化阐释 2019-04-29
未来属于人工智能工程师,但成功转型不容易 2019-04-29
科技界“挠头”:困扰科技界可持续发展的难题 2019-04-29