色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 類修飾器

錢琪琛2年前8瀏覽0評論

Python中的class修飾器是一種裝飾器(decorator), 能夠在定義和實例化類時動態地修改類的屬性和方法。

下面是一個例子,定義了一個class修飾器my_decorator,它將類的__init__方法中的參數名全部轉為小寫:

def my_decorator(cls):
orig_init = cls.__init__
def new_init(self, *args, **kwargs):
lowercase_kwargs = {k.lower(): v for k, v in kwargs.items()}
orig_init(self, *args, **lowercase_kwargs)
cls.__init__ = new_init
return cls

使用class修飾器時,只需要在類定義之前加上@my_decorator即可:

@my_decorator
class MyClass:
def __init__(self, Name):
self.name = Name

在實例化MyClass時,參數名會被轉化成小寫:

obj = MyClass(name="John")
print(obj.name) # 'John'
print(obj.Name) # AttributeError: 'MyClass' object has no attribute 'Name'

通過class修飾器,我們可以方便地修改類的屬性和方法,實現各種有趣的功能。