gpt4 book ai didi

python - 为什么包装类不继承基本数据类型?

转载 作者:太空宇宙 更新时间:2023-11-04 07:11:56 25 4
gpt4 key购买 nike

我正在查看 UserDict 类源代码,我有点不安地看到:

class UserDict:
def __init__(self, dict=None, **kwargs):
self.data = {}
if dict is not None:
self.update(dict)
...

然后是像这样的方法:

def keys(self): return self.data.keys()
def items(self): return self.data.items()
def iteritems(self): return self.data.iteritems()
def iterkeys(self): return self.data.iterkeys()
def itervalues(self): return self.data.itervalues()
def values(self): return self.data.values()

这样做不是更好吗:

class UserDict(dict):
def __init__(self, dict=None, **kwargs):
#self.data = {} # now self itself is {}
if dict is not None:
self.update(dict)
...

然后对上述方法的需求就会消失。

此外,它还可以帮助程序员从一开始就了解 UserDict 通过查看类定义本身来扩展 dict 的功能。

最佳答案

因为它们比从基本数据类型继承的能力更老。为此修改它们可能会以各种方式破坏现有程序。

关于python - 为什么包装类不继承基本数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6619978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com