python常用裝飾器函式

2021-10-23 21:55:25 字數 1670 閱讀 8693

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...