class SortedDict(dict):
def __init__(self, data=None):
if data is None:
data = {}
super(SortedDict, self).__init__(data)
Run Code Online (Sandbox Code Playgroud)
和
class SortedDict(dict):
def __init__(self, data={}):
dict(data)
Run Code Online (Sandbox Code Playgroud)
我认为他们是一样的.
dict(data)只需创建一个字典data而不保存结果.super(SortedDict, self).__init__(data)另一方面调用父类构造函数.
此外,在多重继承的情况下,使用super确保以正确的顺序调用所有正确的构造函数.使用None默认参数而不是mutable {}可确保其他构造函数不会意外地修改SortedDicts default参数.