使用装饰器和通过继承扩展子类之间有什么区别?

我试图用python将大脑包裹在Decorators上,但是不明白为什么我们不能通过使用子类来实现相同的目的?

解决方法:

您可以使用子类来实现相同的目的,实际上甚至不需要子类-您还可以通过将方法包装到另一个方法中并重新分配它来简单地实现相同的目的.关于是否应该将装饰器语法添加到该语言中,已经进行了很多讨论,因为它不允许您做任何新的事情,并且要求程序员学习一门新的东西.

语法问题是使许多人已经在使用的模式正式化,并使其成为具有名称和使用指南的标准语法.不必使用装饰器-您可以通过其他方式获得相同的效果-但是使用官方支持的标准方法以及简洁易懂的语法可以使生活更轻松.

上一篇:最佳外部REST API访问模式?


下一篇:如何从Python装饰器内部访问装饰方法的局部变量(locals())?