- Python property 装饰器 和 setter 饰器
用于将方法转换为对象的属性
转换后调用方式变为调用属性的方式
转换前调用方式: p.set_name()
转换后调用方式: p.set_name
class Person():
"""docstring for Person"""
def __init__(self, name, age):
self._name = name
self._age = age
# property 装饰器
@property
def name(self):
print('get 方法执行了')
return self._name
# setter 方法的装饰器:
# @属性名. setter
@name.setter
def name(self,name):
print('setter 方法调用了')
self._name = name
@property
def age(self):
return self._age
@age.setter
def age(self, age):
self._age = age
p = Person('猪八戒',19)
print(p.name)
p.name = '孙悟空'
print(p.name, p.age)