相同 class 的不同装饰器
Different decorators for the same class
我有一个接受参数的装饰器,我想将它应用于 class,每次单独传递不同的参数,以创建相同 class 的不同版本。例如:
@decorator(arg1)
class SomeClass:
pass
@decorator(arg2)
class SomeOtherClassWithSameContent:
pass # repetition of code here
如何避免创建两个具有相同功能的 class 并避免代码重复?谢谢!
装饰器不必按字面意义使用 @
:
class Foo:
pass
SomeClass = decorator(arg1)(Foo)
SomeOtherClassWithSameContent = decorator(arg2)(Foo)
无论如何,@
语法基本上只是 shorthand。
我有一个接受参数的装饰器,我想将它应用于 class,每次单独传递不同的参数,以创建相同 class 的不同版本。例如:
@decorator(arg1)
class SomeClass:
pass
@decorator(arg2)
class SomeOtherClassWithSameContent:
pass # repetition of code here
如何避免创建两个具有相同功能的 class 并避免代码重复?谢谢!
装饰器不必按字面意义使用 @
:
class Foo:
pass
SomeClass = decorator(arg1)(Foo)
SomeOtherClassWithSameContent = decorator(arg2)(Foo)
无论如何,@
语法基本上只是 shorthand。