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翻译软件实现代码(使用google api完成)
Nov 26 Python
Python安装第三方库的3种方法
Jun 21 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
python中zip()方法应用实例分析
Apr 16 Python
Python lambda表达式用法实例分析
Dec 25 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
Python装饰器限制函数运行时间超时则退出执行
Apr 09 Python
Python二维码生成识别实例详解
Jul 16 Python
在Python3 numpy中mean和average的区别详解
Aug 24 Python
pytorch逐元素比较tensor大小实例
Jan 03 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
用Python实现职工信息管理系统
Dec 30 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/01/14 PHP
让浏览器非阻塞加载javascript的几种方法小结
2011/04/25 Javascript
基于jquery可配置循环左右滚动例子
2011/09/09 Javascript
jQuery数据显示插件整合实现代码
2011/10/24 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
用js实现in_array的方法
2013/11/05 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
javascript数据类型验证方法
2015/12/31 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
JS实现的五级联动菜单效果完整实例
2017/02/23 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
全网小程序接口请求封装实例代码
2020/11/06 Javascript
python模块之paramiko实例代码
2018/01/31 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python实现两个文件合并功能
2018/04/01 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
从0开始的Python学习016异常
2019/04/08 Python
[机器视觉]使用python自动识别验证码详解
2019/05/16 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python 实现aes256加密
2020/11/27 Python
Html5 canvas实现粒子时钟的示例代码
2018/09/06 HTML / CSS
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
往来会计岗位职责
2013/12/19 职场文书
信息专业学生学习的自我评价
2014/02/17 职场文书
运动会通讯稿500字
2014/02/20 职场文书
会计学习心得体会
2014/09/09 职场文书
2014年银行员工年终自我评价
2014/09/19 职场文书
庆祝国庆节标语
2014/10/09 职场文书
2014年工会工作总结
2014/11/12 职场文书
个人年终总结怎么写
2015/03/09 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
《童年的发现》教学反思
2016/02/18 职场文书