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使用redis pool的一种单例实现方式
Apr 16 Python
详解python中的 is 操作符
Dec 26 Python
python实现周期方波信号频谱图
Jul 21 Python
python print输出延时,让其立刻输出的方法
Jan 07 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
python3实现钉钉消息推送的方法示例
Mar 14 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
Python迭代器Iterable判断方法解析
Mar 16 Python
从python读取sql的实例方法
Jul 21 Python
Python 必须了解的5种高级特征
Sep 10 Python
python爬虫爬取图片的简单代码
Jan 18 Python
PyQt5结合QtDesigner实现文本框读写操作
Jun 11 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导出Excel实例讲解
2016/01/24 PHP
PHP反射API示例分享
2016/10/08 PHP
php+redis在实际项目中HTTP 500: Internal Server Error故障排除
2017/02/05 PHP
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
jtable列中自定义button示例代码
2013/11/21 Javascript
js+CSS实现弹出居中背景半透明div层的方法
2015/02/26 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
JQuery遍历DOM节点的方法
2015/06/11 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
2019/03/05 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
[02:51]DOTA2英雄基础教程 艾欧
2014/01/13 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
python基于http下载视频或音频
2018/06/20 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
python实现简单flappy bird
2018/12/24 Python
python简单实现最大似然估计&scipy库的使用详解
2020/04/15 Python
Python scrapy爬取小说代码案例详解
2020/07/09 Python
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
一百多行代码实现react拖拽hooks
2021/03/23 Javascript
工程专业毕业生自荐信范文
2013/12/25 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
八项规定对照检查材料
2014/08/31 职场文书
家装业务员岗位职责
2015/04/03 职场文书
2019企业文化管理制度范本!
2019/08/06 职场文书
ipad隐藏软件app图标方法
2022/04/19 数码科技
SQL Server 中的事务介绍
2022/05/20 SQL Server