python中property和setter装饰器用法


Posted in Python onDecember 19, 2019

作用:调用方法改为调用对象, 比如 : p.set_name() 改为 p.set_name

区别:前者改变get方法,后者改变set方法

效果图:

python中property和setter装饰器用法

代码:

class Person:
  def __init__(self,name):
    self._name = name

  def get_name(self):
    return self._name

  def set_name(self,name):
    self._name = name

p = Person('小黑')
print(p.get_name())
p.set_name('小灰')
print(p.get_name())
class Person:
  def __init__(self,name):
    self._name = name

  # 利用property装饰器将获取name方法转换为获取对象的属性
  @property
  def get_name(self):
    return self._name

  # 利用property装饰器将设置name方法转换为获取对象的属性
  @get_name.setter
  def set_name(self,name):
    self._name = name


p = Person('小黑')
print(p.get_name)  # 原 p.get_name() , 现 p.get_name
p.set_name = '小灰' # 原 p.set_name('小灰') ,现 p.set_name = '小灰'
print(p.get_name)

标准写法:

效果图:

python中property和setter装饰器用法

代码:

# property装饰器
# 作用: 将一个get方法转换为对象的属性。 就是 调用方法改为调用对象
# 使用条件: 必须和属性名一样

# setter方法的装饰器:
# 作用:将一个set方法转换为对象的属性。 就是 a调用方法改为调用对象
# 使用方法:@属性名.setter

class Person:
  def __init__(self,name):
    self._name = name

  # 利用property装饰器将获取name方法转换为获取对象的属性
  @property
  def name(self):
    return self._name

  # 利用property装饰器将设置name方法转换为获取对象的属性
  @name.setter
  def name(self,name):
    self._name = name


p = Person('小黑')
print(p.name)  # 原获取 p.name() , 现 p.name
p.name = '小灰' # 原设置 p.name('小灰') ,现 p.name = '小灰'
print(p.name)

以上这篇python中property和setter装饰器用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 实现文件的递归拷贝实现代码
Aug 02 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
Jan 31 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
PyQt5每天必学之滑块控件QSlider
Apr 20 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
python+os根据文件名自动生成文本
Mar 21 Python
python 梯度法求解函数极值的实例
Jul 10 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
python实现坦克大战
Apr 24 Python
python开发入门——列表生成式
Sep 03 Python
python装饰器代替set get方法实例
Dec 19 #Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 #Python
Python 解决OPEN读文件报错 ,路径以及r的问题
Dec 19 #Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 #Python
Python监控服务器实用工具psutil使用解析
Dec 19 #Python
Python使用pymysql模块操作mysql增删改查实例分析
Dec 19 #Python
python 普通克里金(Kriging)法的实现
Dec 19 #Python
You might like
php实现遍历文件夹的方法汇总
2017/03/02 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
js中的数组Array定义与sort方法使用示例
2013/08/29 Javascript
jQuery常用的一些技巧汇总
2016/03/26 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
javascript函数中的3个高级技巧
2016/09/22 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
使用Vue实现移动端左滑删除效果附源码
2019/05/16 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
vue实现登录拦截
2020/06/29 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
python3.3实现乘法表示例
2014/02/07 Python
wxPython的安装与使用教程
2018/08/31 Python
python获取url的返回信息方法
2018/12/17 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
倩碧澳大利亚官网:Clinique澳大利亚
2019/07/22 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
俄罗斯商务邀请函
2014/01/26 职场文书
家长对孩子的评语
2014/04/18 职场文书
工商管理专业自荐信
2014/06/03 职场文书
教师三严三实对照检查材料
2014/09/25 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
上诉答辩状范文
2015/05/22 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
企业安全生产检查制度
2015/08/06 职场文书
交通安全主题班会
2015/08/12 职场文书