python中property和setter装饰器用法

 更新时间:2019年12月19日 14:44:31   作者:人生与戏  
今天小编就为大家分享一篇python中property和setter装饰器用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

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

效果图:

代码:

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)

标准写法:

效果图:

代码:

# 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装饰器用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在pycharm中实现删除bookmark

    在pycharm中实现删除bookmark

    今天小编就为大家分享一篇在pycharm中实现删除bookmark,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 浅谈pytorch和Numpy的区别以及相互转换方法

    浅谈pytorch和Numpy的区别以及相互转换方法

    今天小编就为大家分享一篇浅谈pytorch和Numpy的区别以及相互转换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Elasticsearches的集群搭建及数据分片过程详解

    Elasticsearches的集群搭建及数据分片过程详解

    这篇文章主要为大家介绍了Elasticsearches的集群搭建及数据分片过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • python如何获取网络数据

    python如何获取网络数据

    这篇文章主要介绍了python如何获取网络数据,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-04-04
  • Python双精度浮点数运算并分行显示操作示例

    Python双精度浮点数运算并分行显示操作示例

    这篇文章主要介绍了Python双精度浮点数运算并分行显示操作,涉及Python数学运算及显示相关操作技巧,注释备有详尽的说明,需要的朋友可以参考下
    2017-07-07
  • 5个Python中实现文字转语音模块的使用讲解

    5个Python中实现文字转语音模块的使用讲解

    这篇文章主要为大家详细介绍了5个Python中实现文字转语音模块的使用,文中的示例代码讲解详细,对我们深入掌握Python有一定的帮助,需要的可以参考下
    2023-11-11
  • Python任务调度利器之APScheduler详解

    Python任务调度利器之APScheduler详解

    所谓的任务调度是指安排任务的执行计划,即何时执行,怎么执行等。这篇文章主要介绍了Python任务调度利器之APScheduler详解,需要的朋友可以参考下
    2020-04-04
  • 使用selenium模拟动态登录百度页面的实现

    使用selenium模拟动态登录百度页面的实现

    本文主要介绍了使用selenium模拟动态登录百度页面,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • Python 变量类型及命名规则介绍

    Python 变量类型及命名规则介绍

    Python编程中,变量是用于存放值或对像的容器。而变量的名称可以自定义,基本的命名规则如下
    2013-06-06
  • python进行debug操作实战训练

    python进行debug操作实战训练

    debug是编码是非常重要的调试技巧,通过在运行过程中设置断点,帮助开发人员更好的理解运行过程,下面这篇文章主要给大家介绍了关于python进行debug操作的相关资料,需要的朋友可以参考下
    2023-06-06

最新评论