参考链接: Python @property装饰器

上篇:https://blog.csdn.net/qq_42489308/article/details/89423412

@property装饰器

Python内置的@property装饰器可以把类的方法伪装成属性调用的方式 。

class People:

def __init__(self, name, age):

self.__name = name

self.__age = age

@property

def age(self):

return self.__age

@age.setter

def age(self, age):

if isinstance(age, int):

self.__age = age

else:

raise ValueError

@age.deleter

def age(self):

print("删除年龄数据!")

obj = People("jack", 18)

print(obj.age)

obj.age = 19

print("obj.age:  ", obj.age)

del obj.age

---------------------------

打印结果:

18

obj.age:   19

删除年龄数据!

将一个方法伪装成为属性后,就不再使用圆括号的调用方式了。而是类似变量的赋值、获取和删除方法了。当然,每个动作内部的代码细节还是需要你自己根据需求去实现的。

[转载] python学习笔记——@property装饰器相关推荐

  1. [转载] Python学习笔记——用装饰器decorator和Memoization记忆化提高效率,原理讲清楚了

    参考链接: 在Python中使用装饰器进行记忆 Python学习笔记--用装饰器decorator和Memoization记忆化提高效率 装饰器Memoization记忆化运用`functools`中 ...

  2. python学习笔记(装饰器、迭代器生成器、内置函数、软件目录开发规范)

    装饰器 定义:本质是函数,(功能:装饰其他函数):就是为其他函数添加附加功能 模拟场景一,在现有的函数中增加某个功能.现有的做法是定义新函数,并且加入函数中.需要修改源代码. def logger() ...

  3. python学习笔记之——装饰器及对象

    1.反射之__import__ 我们知道import语句是用来导入外部模块的,当然还有from...import...也可以,但是其实import实际上是使用builtin函数__import__来工 ...

  4. Python学习笔记:装饰器

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  5. python学习笔记之装饰器、递归、算法(第四天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  6. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解

    第7.26节 Python中的@property装饰器定义属性访问方法getter.setter.deleter 详解 一.    引言 Python中的装饰器在前面接触过,老猿还没有深入展开介绍装饰 ...

  7. python中的@property装饰器

    引言 本文将要介绍Python中@property装饰器,这是一种python风格的getters和setters方法.Python编程为我们提供了一个内置的@property装饰器,它使面向对象编程 ...

  8. pythonproperty装饰器_实例讲解Python编程中@property装饰器的用法

    取值和赋值 class Actress(): def __init__(self): self.name = 'TianXin' self.age = 5 类Actress中有两个成员变量name和a ...

  9. python文件下载速度 装饰器_python学习笔记之---装饰器

    # -*- coding:utf-8 -*- '''示例1: 最简单的函数,表示调用了两次''' def myfunc(): print ("myfunc() called.") ...

最新文章

  1. Ubuntu 16.04服务器版查看DHCP自动分配的IP、网关、DNS
  2. 最近想问题想的睡不着,上来郁闷下!
  3. java快速排序的时间复杂度_java 快速排序
  4. 操作系统【抢占式处理机调度例题、LLF最低松弛度优先算法】
  5. 计算机中cmos设置程序,电脑主板上有CMOS设置是什么意思
  6. mysql源码包和二进制包_Linux软件包(源码包和二进制包)
  7. 乖乖,腾讯天美研发20万月薪刷爆朋友圈,网友:小丑竟是我自己
  8. SharePoint Enterprise Search基础知识点拾遗系列之二
  9. includes(), startsWith(), endsWith()
  10. GCN pytorch实现 笔记
  11. 简述ip地址的abc类如何划分_面试官问:讲讲IP地址的分配原理
  12. Java工程师学习指南
  13. qt实现仓库物料管理(小工具)
  14. Android Jetpack 之 App Startup
  15. A40i 平台应用笔记-华为-ME909S-4G 模块的移植应用
  16. ubuntu下flv 批量转化成 mp3格式脚本
  17. 三星s8升级到android9相机,三星S8拍照怎么样?S8相机官方详解
  18. Win32计算器:输入出生年月日,输出周岁,星座以及距离下一次生日的天数
  19. Flutter 日期转换
  20. 2022-2028全球与中国脚踏泵市场现状及未来发展趋势

热门文章

  1. 使用Latex制作分享,演讲,Presentation用的Slides,PPT——Beamer教程
  2. 【初赛】各种排序算法总结
  3. 计算机网络八校联考试题,2019届高三信息技术3月联考试卷有解析与答案
  4. wifi扫描流程图_扫描方法与流程
  5. 计算机监控防误,计算机监控防误操作系统专利_专利申请于2007-10-25_专利查询 - 天眼查...
  6. Python入门--元组的遍历,获取元组元素
  7. java实现数据结构-堆排序
  8. Unity3D基础2:新建模型
  9. Educational Codeforces Round 53: E. Segment Sum(数位DP)
  10. bzoj 1007: [HNOI2008]水平可见直线