python中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装饰器用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 python中property和setter装饰器用法 的全部内容, 来源链接: utcz.com/z/312249.html

回到顶部