类型错误:object.__new__(int) 不安全,使用 int.__new__()

God*_*Man 5 python metaclass

阅读本文时:Python 中的元类是什么?,我正在学习使用__new__以下代码段:-

class a(object):
    pass

a.__new__(int,'abcdef',(int,),{})
Run Code Online (Sandbox Code Playgroud)

调用__new__using可能存在一些问题a.。但是,我收到以下错误,我不明白其含义:-

TypeError: object.__new__(int) is not safe, use int.__new__()

如果与 的用法有关__new__,我可以通过阅读一些书籍来修改。但是,有人可以解释为什么会出现这条消息:

object.__new__(int) is not safe, use int.__new__()

Jon*_*nts 5

简而言之,在 2.6 之前 -object.__new__ 忽略参数...现在它实际上可能会对它们做一些事情...所以警告是可能会发生不同的事情。

这篇文章关于 __new__ 失去参数的最佳解决方案有什么想法吗?- 有更详细的解释。

您可能还想查看http://docs.python.org/library/functions.html#type

知道 Python 中所有元内容的可能性是很棒的,但作为一个警告,我不会太在意它 - 因为我已经看到了一些真正“聪明”的解决方案,它们只是怪物......