6

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

class a(object):
    pass

a.__new__(int,'abcdef',(int,),{})

__new__使用调用可能会出现一些问题a.。但是,我收到以下错误,我不明白其含义:-

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

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

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

4

1 回答 1

4

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

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

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

了解 Python 中所有数据的可能性是很棒的,但作为一个警告,我不会对此过于挂念 - 因为我已经看到了一些非常“聪明”的解决方案,这只是怪物......

于 2012-10-18T10:20:20.583 回答