class Person:
def __init__(self, name):
self._name = name
# 使用 property 装饰器定义 getter 方法
@property
def name(self):
"""The name property."""
print("Getting name")
return self._name
# 使用 setter 方法设置属性值
@name.setter
def name(self, value):
print("Setting name to", value)
self._name = value
# 使用 deleter 方法删除属性
@name.deleter
def name(self):
print("Deleting name")
del self._name
# 示例用法
person = Person("Alice")
print(person.name) # 获取属性值,会调用 getter 方法
person.name = "Bob" # 设置属性值,会调用 setter 方法
del person.name # 删除属性,会调用 deleter 方法
@property:将方法转换为只读属性。通过 @property 装饰器定义的属性可以通过点号(.)访问,就像访问普通属性一样。@name.setter:定义了属性的 setter 方法,允许我们修改属性的值。@name.deleter:定义了属性的 deleter 方法,允许我们删除属性。这个例子展示了如何使用 Python 的 property 装饰器来创建一个具有 getter、setter 和 deleter 的属性。
上一篇:python 数组循环
下一篇:python int最大值
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站