Skip to main content
 首页 » 编程设计

python之这两个类有什么区别

2025年05月04日18jyk

class SortedDict(dict): 
    def __init__(self, data=None): 
        if data is None: 
            data = {} 
        super(SortedDict, self).__init__(data) 

和

class SortedDict(dict): 
    def __init__(self, data={}): 
        dict(data) 

我认为它们是一样的。

请您参考如下方法:

dict(data) 只是从 data 创建一个字典,而不将结果保存在任何地方。 super(SortedDict, self).__init__(data) 另一方面调用父类构造函数。

此外,在多重继承的情况下,使用 super 可确保以正确的顺序调用所有正确的构造函数。使用 None 作为默认参数而不是可变的 {} 可确保那些其他构造函数 don't accidentally modify SortedDicts default argument .