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装饰器的更多相关文章

  1. python中函数总结之装饰器闭包

    1.前言 函数也是一个对象,从而可以增加属性,使用句点来表示属性. 如果内部函数的定义包含了在外部函数中定义的对象的引用(外部对象可以是在外部函数之外),那么内部函数被称之为闭包. 2.装饰器 装饰器 ...

  2. 轻松理解python中的闭包和装饰器 (下)

    在 上篇 我们讲了python将函数做为返回值和闭包的概念,下面我们继续讲解函数做参数和装饰器,这个功能相当方便实用,可以极大地简化代码,就让我们go on吧! 能接受函数做参数的函数我们称之为高阶函 ...

  3. 轻松理解python中的闭包和装饰器(上)

    继面向对象编程之后函数式编程逐渐火起来了,在python中也同样支持函数式编程,我们平时使用的map, reduce, filter等都是函数式编程的例子.在函数式编程中,函数也作为一个变量存在,对应 ...

  4. python中的迭代器&&生成器&&装饰器

    迭代器iterator 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外, ...

  5. python中的闭包和装饰器

    重新学习完了函数,是时候将其中的一些重点重新捋一捋了,本次总结的东西只有闭包和装饰器 1.闭包 闭包是python函数中的一个比较重要功能,一般闭包都是用在装饰器上,一般学完闭包就会去学习装饰器,这俩 ...

  6. 聊聊Python中的闭包和装饰器

    1. 闭包 首先我们明确一下函数的引用,如下所示: def test1(): print("--- in test1 func----") # 调用函数 test1() # 引用函 ...

  7. python中的迭代器 生成器 装饰器

    什么迭代器呢?它是一个带状态的对象,他能在你调用next()方法的时候返回容器中的下一个值,任何实现了__iter__和__next__()(python2中实现next())方法的对象都是迭代器,_ ...

  8. 21.python中的闭包和装饰器

    python中的闭包从表现形式上定义(解释)为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure). 以下说明主要针对 python ...

  9. Python 中的闭包与装饰器

    闭包(closure)是函数式编程的重要的语法结构.闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性. 如果在一个内嵌函数里,对在外部函数内(但不是在全局作用域)的变量进行引用,那么内嵌函数 ...

随机推荐

  1. 51nod 1380"夹克老爷的逢三抽一"(贪心+set)

    传送门 •参考资料 [1]:51Nod-1380-夹克老爷的逢三抽一 •题意 从长度为 n 的数组中抽取 $\frac{n}{3}$ 个不相邻的值使得加和最大(首尾也不能同时取) •题解 贪心选择当前 ...

  2. Python--day32--ftp文件传输报错的原因

    解决办法:把buffer改小 server.py #实现一个大文件的上传或下载 #配置文件 ip地址 端口号 import json import socket import struct sk = ...

  3. LuoguP3521 [POI2011]ROT-Tree Rotations

    P3521 [POI2011]ROT-Tree Rotations 题目大意: 给一棵\((1≤n≤200000)\)个叶子的二叉树,可以交换每个点的左右子树,要求前序遍历叶子的逆序对最少. 我们发现 ...

  4. 2018-2-13-win10-uwp-模拟网页输入

    title author date CreateTime categories win10 uwp 模拟网页输入 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 1 ...

  5. CodeForces - 1239A

    推公式题,万万没想到斐波那契啊

  6. 007 Ceph手动部署单节点

    前面已经介绍了Ceph的自动部署,本次介绍一下关于手动部署Ceph节点操作 一.环境准备 一台虚拟机部署单节点Ceph集群 IP:172.25.250.14 内核: Red Hat Enterpris ...

  7. Ubuntu 18.04安装搜狗拼音

    首先安装fcitx 一.检测是否安装fcitx 首先检测是否有fcitx,因为搜狗拼音依赖fcitx > fcitx 提示: 程序“fcitx”尚未安装. 您可以使用以下命令安装: > s ...

  8. 【题解】P4841 城市规划(指数型母函数+多项式Ln)

    [题解]P4841 城市规划 P4841 城市规划 超级弱化版本(DP):POJ - 1737 两张图不同当且仅当边的分布不一样的时候,带编号最后乘一个阶乘即可,现在最主要的问题就是"联通& ...

  9. $Poj3017\ Cut\ The\ Sequence$ 单调队列优化$DP$

    Poj   AcWing Description 给定一个长度为N的序列 A,要求把该序列分成若干段,在满足“每段中所有数的和”不超过M的前提下,让“每段中所有数的最大值”之和最小. N<=10 ...

  10. 机器学习之路--seaborn

    seaborn是基于plt的封装好的库.有很强的作图功能. 1.布局风格设置(图形的style)and 细节设置 用matplotlib作图: import numpy as np import ma ...