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 除法小技巧
Sep 06 Python
Python的Bottle框架中实现最基本的get和post的方法的教程
Apr 30 Python
python统计文本文件内单词数量的方法
May 30 Python
详解字典树Trie结构及其Python代码实现
Jun 03 Python
Python 多线程Threading初学教程
Aug 22 Python
django使用html模板减少代码代码解析
Dec 12 Python
Python对数据进行插值和下采样的方法
Jul 03 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
python对输出的奇数偶数排序实例代码
Dec 04 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 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文件上传类分享
2014/11/18 PHP
php写入数据到CSV文件的方法
2015/03/14 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
Javascript开发包大全整理
2006/12/22 Javascript
Jquery操作Select 简单方便 一个js插件搞定
2009/11/12 Javascript
JQuery模板插件 jquery.tmpl 动态ajax扩展
2011/11/10 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
JS显示日历和天气的方法
2016/03/01 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
微信小程序 Template详解及简单实例
2017/01/05 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
jQuery中的for循环var与let的区别
2018/04/21 jQuery
解决vue v-for src 图片路径问题 404
2019/11/12 Javascript
ubuntu安装mysql pycharm sublime
2018/02/20 Python
python实战教程之自动扫雷
2018/07/13 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
基于Python共轭梯度法与最速下降法之间的对比
2020/04/02 Python
python爬虫基础知识点整理
2020/06/02 Python
python操作链表的示例代码
2020/09/27 Python
Jimmy Choo美国官网:周仰杰鞋子品牌
2018/06/08 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
全球最大化妆品零售网站:SkinStore
2020/10/24 全球购物
污水厂厂长岗位职责
2014/01/04 职场文书
员工工作表扬信范文
2014/01/13 职场文书
公司委托书范本
2014/04/04 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
重阳节慰问信
2015/02/15 职场文书
个人思想政治总结
2015/03/05 职场文书
学校党员干部承诺书
2015/05/04 职场文书
学校教学管理制度
2015/08/06 职场文书
vue2实现provide inject传递响应式
2021/05/21 Vue.js