У меня есть базовый Monostate с Python 2.6.
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)
После небольшого поиска в Google я обнаружил, что это прикреплено к Bug # 1683368. Я не могу понять, что это значит. Он жалуется на следующую строку
self = object.__new__(cls, *args, **kwargs)
Кажется, что все в порядке. Может ли кто-нибудь объяснить непрофессионалами, почему это проблема. Я понимаю, что «это несовместимо с другими встроенными функциями, например списком», но я не уверен, что понимаю, почему. Кто-нибудь объяснит мне, как это сделать?
Спасибо