如何在python中使用property和setter装饰器-创新互联

这篇文章将为大家详细讲解有关如何在python中使用property和setter装饰器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

成都创新互联服务项目包括克拉玛依区网站建设、克拉玛依区网站制作、克拉玛依区网页制作以及克拉玛依区网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,克拉玛依区网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到克拉玛依区省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

作用:调用方法改为调用对象, 比如 : 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装饰器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。

名称栏目:如何在python中使用property和setter装饰器-创新互联
链接分享:https://www.cdcxhl.com/article36/cesdpg.html

成都网站建设公司_创新互联,为您提供自适应网站ChatGPT网站制作手机网站建设服务器托管移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

手机网站建设