我有一个带有 Python 2.6 的基本 Monostate。
class Borg(object):
__shared_state = {}
def __new__(cls, *args, **kwargs):
self = object.__new__(cls, *args, **kwargs)
self.__dict__ = cls.__shared_state
return self
def __init__(self, *args, **kwargs):
noSend = kwargs.get("noSend", False)
reportLevel = kwargs.get("reportLevel", 30)
reportMethods = kwargs.get("reportMethods", "BaseReport")
contacts= kwargs.get("contacts", None)
a = Borg(contacts="Foo", noSend="Bar", )
这很高兴地给了我以下弃用警告。
untitled:4: DeprecationWarning: object.__new__() takes no parameters
self = object.__new__(cls, *args, **kwargs)
经过一番谷歌搜索后,我发现它附加到错误#1683368 http://bugs.python.org/issue1683368。我不明白这意味着什么。它抱怨以下行
self = object.__new__(cls, *args, **kwargs)
这看起来没问题。有人可以解释一下吗laymens为什么这是一个问题。我理解“这与其他内置函数不一致,例如列表”,但我不确定我是否理解原因。有人能解释一下这告诉我正确的方法吗?
Thanks