阅读本文时: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__()
简而言之,在 2.6 之前 -object.__new__ 忽略参数...现在它实际上可能会对它们做一些事情...所以警告是可能会发生不同的事情。
这篇文章关于 __new__ 失去参数的最佳解决方案有什么想法吗?- 有更详细的解释。
您可能还想查看http://docs.python.org/library/functions.html#type
知道 Python 中所有元内容的可能性是很棒的,但作为一个警告,我不会太在意它 - 因为我已经看到了一些真正“聪明”的解决方案,它们只是怪物......