是否可以使用 python 装饰器“停用”功能?这里有一个例子:
cond = False
class C:
if cond:
def x(self): print "hi"
def y(self): print "ho"
是否可以像这样用装饰器重写此代码?:
class C:
@cond
def x(self): print "hi"
def y(self): print "ho"
背景:在我们的库中,一些依赖项(如 matplotlib)是可选的,只有少数函数(用于调试或前端)需要这些依赖项。这意味着在某些系统上 matplotlib 未安装在其他系统上,但在两者上都应该运行(核心)代码。因此,如果未安装 matplotlib,我想禁用某些功能。有这么优雅的方式吗?