Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中直接从内置类型继承而不是从其包装类继承_Python_Inheritance_Types_Wrapper_Built In - Fatal编程技术网

在Python中直接从内置类型继承而不是从其包装类继承

在Python中直接从内置类型继承而不是从其包装类继承,python,inheritance,types,wrapper,built-in,Python,Inheritance,Types,Wrapper,Built In,我现在读的是马克·皮尔格林的著作,已经读到了关于遗产的部分。在中,Pilgrim提到了从包装类UserDict继承与从内置dict类型继承之间的区别 我很难理解为什么有人会为包装器类而烦恼。。。从UserDict包装类(或任何其他UserXxx类)继承有什么好处 非常感谢您的意见。谢谢 你说得对: 这门课的需求一直在增加 在很大程度上被 直接来自dict的子类(特征 从一开始就可以使用 Python版本2.2)。在 介绍dict,用户dict 类用于创建 类似字典的子类 通过重写获得新行为 现有

我现在读的是马克·皮尔格林的著作,已经读到了关于遗产的部分。在中,Pilgrim提到了从包装类UserDict继承与从内置dict类型继承之间的区别

我很难理解为什么有人会为包装器类而烦恼。。。从UserDict包装类(或任何其他UserXxx类)继承有什么好处

非常感谢您的意见。谢谢

你说得对:

这门课的需求一直在增加 在很大程度上被 直接来自dict的子类(特征 从一开始就可以使用 Python版本2.2)。在 介绍dict,用户dict 类用于创建 类似字典的子类 通过重写获得新行为 现有方法或添加新方法

注意第一句话。这来自UserDict的定义

哦,在Python 3中,它已经消失了。

你说得对:

这门课的需求一直在增加 在很大程度上被 直接来自dict的子类(特征 从一开始就可以使用 Python版本2.2)。在 介绍dict,用户dict 类用于创建 类似字典的子类 通过重写获得新行为 现有方法或添加新方法

注意第一句话。这来自UserDict的定义


哦,在Python3中它已经消失了。

包装器类已经从Python3中删除,因为它们已经有一段时间没有那么有用了。mixin类,
UserDict.DictMixin
,是一个完全不同的故事——它的有用特性现在可以在
集合
模块(Python2.6和3.*)中的所有“抽象基类”中找到。

包装类已经从Python3中删除,因为它们已经有一段时间没有那么有用了。mixin类,
UserDict.DictMixin
,是一个完全不同的故事——它的有用特性现在可以在
集合
模块(Python2.6和3.*)中的所有“抽象基类”中找到。

我在您链接的页面上找到了关于答案的提示:

在2.2之前的Python版本中, 您不能直接将其子类化 内置数据类型,如字符串, 列表,和字典。补偿 为此,Python附带了包装器 类的行为 这些内置数据类型:UserString, UserList和UserDict。使用 普通与特殊相结合 方法,UserDict类执行 对字典的极好模仿。 在Python2.2及更高版本中,您可以 直接从内置类继承类 像dict这样的数据类型


实际上,今天你可能想将dict分为子类,而不是UserDict。

我在你链接的页面上找到了一个关于答案的提示:

在2.2之前的Python版本中, 您不能直接将其子类化 内置数据类型,如字符串, 列表,和字典。补偿 为此,Python附带了包装器 类的行为 这些内置数据类型:UserString, UserList和UserDict。使用 普通与特殊相结合 方法,UserDict类执行 对字典的极好模仿。 在Python2.2及更高版本中,您可以 直接从内置类继承类 像dict这样的数据类型

实际上,今天您可能希望将dict子类化,而不是UserDict