python装饰器 property_python中property和setter装饰器用法
作用:調(diào)用方法改為調(diào)用對象, 比如 : p.set_name() 改為 p.set_name
區(qū)別:前者改變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方法轉(zhuǎn)換為獲取對象的屬性
@property
def get_name(self):
return self._name
# 利用property裝飾器將設(shè)置name方法轉(zhuǎn)換為獲取對象的屬性
@get_name.setter
def set_name(self,name):
self._name = name
p = Person('小黑')
print(p.get_name) # 原 p.get_name() , 現(xiàn) p.get_name
p.set_name = '小灰' # 原 p.set_name('小灰') ,現(xiàn) p.set_name = '小灰'
print(p.get_name)
標準寫法:
效果圖:
代碼:
# property裝飾器
# 作用: 將一個get方法轉(zhuǎn)換為對象的屬性。 就是 調(diào)用方法改為調(diào)用對象
# 使用條件: 必須和屬性名一樣
# setter方法的裝飾器:
# 作用:將一個set方法轉(zhuǎn)換為對象的屬性。 就是 a調(diào)用方法改為調(diào)用對象
# 使用方法:@屬性名.setter
class Person:
def __init__(self,name):
self._name = name
# 利用property裝飾器將獲取name方法轉(zhuǎn)換為獲取對象的屬性
@property
def name(self):
return self._name
# 利用property裝飾器將設(shè)置name方法轉(zhuǎn)換為獲取對象的屬性
@name.setter
def name(self,name):
self._name = name
p = Person('小黑')
print(p.name) # 原獲取 p.name() , 現(xiàn) p.name
p.name = '小灰' # 原設(shè)置 p.name('小灰') ,現(xiàn) p.name = '小灰'
print(p.name)
以上這篇python中property和setter裝飾器用法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持。
總結(jié)
以上是生活随笔為你收集整理的python装饰器 property_python中property和setter装饰器用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 外星人颜色python练习_都来说一说你
- 下一篇: 为什么ajax请求进不来后端路由_为什么