python - 不知道 python 元类示例代码中 'return type.__call__(cls, *args, **kwds)' 的含义和原因
问题描述
我正在尝试了解 Python 元类。我几乎明白 Metaclass 在 python 中的作用,但我不明白示例代码的含义
class MakeCalc(type):
def __new__(metacls, name, bases, namespace):
namespace['desc'] = 'calculation'
namespace['add'] = lambda self, a, b: a + b
return type.__new__(metacls, name, bases, namespace)
为什么这个元类返回type.__new__(metacls, name, bases, namespace)
?这是什么意思?
解决方案
推荐阅读
- android - ViewCompat.setOnApplyWindowInsetsListener 在将视图视为属性时不生效
- javascript - 计算字符串中的相同字母但不是全部长度
- javascript - 我一直在创建一个简单的验证。如何获取用户输入的输入并验证我的数据?
- reactjs - axios调用jsp文件
- python - 如何使输入类型和重量类型相同?
- google-apps-script - 如何在不同的文件中使用 GAS 类,与文件加载顺序无关?
- c - 将宏扩展为无代码:“do {} while (0)”或“while (0) {}”
- amazon-web-services - 我在哪里可以查看由 `eksctl` 创建的服务帐户?
- linux - 使用表达式在 sh 脚本中编辑文件命令
- reactjs - 将jar(spring boot 2 + react)部署到heroku时-错误404