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

相关文章

  • Python爬虫scrapy框架Cookie池(微博Cookie池)的使用

    Python爬虫scrapy框架Cookie池(微博Cookie池)的使用

    这篇文章主要介绍了Python爬虫scrapy框架Cookie池(微博Cookie池)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • python 使用三引号时容易犯的小错误

    python 使用三引号时容易犯的小错误

    这篇文章主要介绍了python 使用三引号时容易犯的小错误,帮助新手学习,避免入坑,感兴趣的朋友可以了解下
    2020-10-10
  • Python pandas按行、按列遍历DataFrame的几种方式

    Python pandas按行、按列遍历DataFrame的几种方式

    在python的DataFrame中,因为数据中可以有多个行和列,而且每行代表一个数据样本,我们可以将DataFrame看作数据表,那你知道如何按照数据表中的行遍历吗,下面这篇文章主要给大家介绍了关于Python pandas按行、按列遍历DataFrame的几种方式,需要的朋友可以参考下
    2022-09-09
  • 解决win10 vscode 无法激活python 虚拟环境的问题

    解决win10 vscode 无法激活python 虚拟环境的问题

    这篇文章主要介绍了win10 vscode 无法激活python 虚拟环境的解决办法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • python的变量与赋值详细分析

    python的变量与赋值详细分析

    这篇文章主要介绍了python的变量与赋值详细分析,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • python进阶教程之文本文件的读取和写入

    python进阶教程之文本文件的读取和写入

    这篇文章主要介绍了python进阶教程之文本文件的读取和写入,本文讲解的是最基本的文件读取和写入功能,需要的朋友可以参考下
    2014-08-08
  • 利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程

    利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程

    这篇文章主要介绍了利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程,示例基于CentOS操作系统,需要的朋友可以参考下
    2015-05-05
  • Python实现压缩pdf文件大小

    Python实现压缩pdf文件大小

    工作中常需要压缩数据文件大小,压缩PDF文件是一种减少PDF文件大小的方法,这样可以使文件更易于传输和存储,本文将使用Python实现这一功能,需要的可以参考下
    2024-02-02
  • 详解python eval函数的妙用

    详解python eval函数的妙用

    这篇文章主要介绍了详解python eval函数的妙用,详细介绍了python eval函数的具体用法和实例,有兴趣的可以了解一下
    2017-11-11
  • Python装饰器用法实例总结

    Python装饰器用法实例总结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python装饰器的功能、原理及常见使用方法,需要的朋友可以参考下
    2018-05-05

最新评论