1、property
將方法偽裝成屬性
2、setter 修改屬性
只有當被property裝飾的方法,又實現了乙個同名方法,且被setter裝飾器
裝飾了,在被裝飾的方法賦值的時候,就觸發被setter裝飾器裝飾的方法
3、deleter 刪除屬性
class
student
:def
__init__
(self,name)
: self.__name = name
@property
defname
(self)
:return self.__name
@name.setter
defname
(self,new_name)
: self.__name = new_name
@name.deleter
defname
(self)
:del self.__name
zhangsan = student(
'張三'
)print
(zhangsan.name)
zhangsan.name =
'李四'
print
(zhangsan.name)
del zhangsan.name
print
(zhangsan.__dict__)
4、classmethod 類方法
'''.
'''class
goods
: __discount =
0.7def
__init__
(name,price)
: self.__name = name
self.__price = price
@property
defprice
(self)
:return self.__price * goods.__discount
@classmethod
defchang_price
(cls,new)
: cls.__discount = new
a = goods(,10
)print
(a.price)
goods.chang_price(
0.8)
print
(a.price)
5、staticmethod 普通方法
class
student
: @staticmethod
deflogin()
:print
('登陸成功'
)
6、類中的屬性與方法呼叫關係類:
靜態屬性 類 所有的物件都統一擁有的屬性
類方法 類 cls預設引數
普通方法 類 沒有預設引數
方法 物件
property 物件
python裝飾器 函式裝飾器,類裝飾器
只要實現此 模式,這個obj就叫乙個裝飾器 參考 函式裝飾器 例子 def decorator func def inner args,kwargs print before.res func args,kwargs print after.return res return inner decor...
python 裝飾器 函式裝飾器 類裝飾器
python函式裝飾器和類裝飾器筆記.usr bin env python coding utf 8 author ivan file decorators.py version from functools import wraps 裝飾器 目的是為了給函式新增附加功能 1.不帶引數裝飾器 此方式...
python 常用裝飾器
對於類的方法,python內建的 property裝飾器就是負責把乙個方法變成屬性呼叫的 class student object property defscore self return self.score score.setter defscore self,value ifnot isin...