python中property和setter装饰器用法
作者:人生与戏 时间:2022-04-20 21:38:03
作用:调用方法改为调用对象, 比如 : 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)
来源:https://www.cnblogs.com/FlyingLiao/p/11334097.html
标签:python,property,setter,装饰器
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
PHP chunk_split()函数讲解
2023-06-09 13:54:44
![](https://img.aspxhome.com/file/2023/5/55395_0s.png)
如何使用python对图片进行批量压缩详解
2022-12-05 04:22:25
![](https://img.aspxhome.com/file/2023/9/72959_0s.jpg)
如何将 Access 的 Memo 型态字段汇入到 SQL2005 的 nvarchar 型态字段
2008-12-26 18:13:00
python 制作一个gui界面的翻译工具
2022-04-21 20:16:55
![](https://img.aspxhome.com/file/2023/9/91939_0s.png)
详解python 拆包可迭代数据如tuple, list
2022-01-08 19:28:43
python编写softmax函数、交叉熵函数实例
2023-11-24 07:08:11
![](https://img.aspxhome.com/file/2023/6/64606_0s.jpg)
详解Python如何获取视频文件的大小和时长
2021-12-08 14:50:13
![](https://img.aspxhome.com/file/2023/1/126921_0s.jpg)
Python自然语言处理之词干,词形与最大匹配算法代码详解
2023-07-23 04:48:37
Python中的is和id用法分析
2021-12-09 17:23:12
python爬虫获取新浪新闻教学
2021-10-13 11:15:41
![](https://img.aspxhome.com/file/2023/4/124654_0s.png)
python学习基础之循环import及import过程
2022-04-02 13:23:25
js实现rem自动匹配计算font-size的示例
2023-08-22 11:02:33
python读取txt文件中特定位置字符的方法
2022-07-02 17:38:52
JavaScript几种弹窗事件的使用
2023-08-24 15:59:08
![](https://img.aspxhome.com/file/2023/4/56174_0s.png)
详解python使用turtle库来画一朵花
2021-08-30 14:58:49
![](https://img.aspxhome.com/file/2023/7/72857_0s.png)
非原型 不设计
2010-01-21 12:51:00
![](https://img.aspxhome.com/file/UploadPic/20101/21/prototype_01_banner1-27s.jpg)
数据库自动化技术弥补数据库DBA短缺难题
2009-02-04 16:53:00
教你隐藏ACCESS数据库的表名
2008-05-09 19:45:00
![](/images/sg_trans.gif)
关于keras中的Reshape用法
2021-11-08 00:04:12
ASP.NET(C#)读取Excel的文件内容
2023-07-10 22:38:35