我有一个使用 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)
经过一番谷歌搜索,我发现这是附加到Bug #1683368。我不明白这是什么意思。它抱怨以下行
self = object.__new__(cls, *args, **kwargs)
这似乎没问题。有人可以用外行的方式解释为什么这是一个问题。我知道“这与其他内置程序不一致,例如列表”,但我不确定我理解为什么。有人会解释这个告诉我正确的方法吗?
谢谢