【问题标题】:Why would I prefer metaclass over inheritance from a superclass in Python为什么我更喜欢元类而不是从 Python 中的超类继承
【发布时间】:2017-01-18 07:41:28
【问题描述】:

据我目前所学,Python 中的元类和从超类继承的目的非常相似,但超类继承更强大。

为什么我更喜欢元类而不是超类继承?在哪种情况下元类会有所帮助?

对不起,如果有任何错误的假设。我今天刚学了元类。

【问题讨论】:

  • “Python 中的元类和从超类继承的目的非常相似”——什么?不,你从哪里得到这个想法的?元类扮演着非常不同的角色。
  • 至少对于刚学习元类的我来说,它看起来非常相似。我可以知道它们的区别吗?

标签: python class inheritance superclass metaclass


【解决方案1】:

我想你误会了。继承是经典的面向对象技术,通过将常用的东西放在基类中并从中派生来重用代码。

元类简而言之)允许您自定义创建类的过程(特别是 __new__ 方法),以便您可以动态添加属性和类似的东西。这有点复杂,在大多数情况下,你不需要这个。这个答案有一些细节What is a metaclass in Python?

【讨论】:

猜你喜欢
  • 2023-01-16
  • 1970-01-01
  • 1970-01-01
  • 2016-07-30
  • 2015-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多