Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 为什么range类的基中没有Iterable,但它的对象是Iterable实例?_Python_Python 3.x - Fatal编程技术网

Python 为什么range类的基中没有Iterable,但它的对象是Iterable实例?

Python 为什么range类的基中没有Iterable,但它的对象是Iterable实例?,python,python-3.x,Python,Python 3.x,如果对象是类的实例,那么应该在类的继承关系中找到该类 在下面的代码中,您可以清楚地看到,在基类的元组中,只有一个object类的对象,而没有其他对象 我的理解错了吗 rangeObject = range(3) rangeClass = type(rangeObject) class range(unittest.TestCase): def test_bases_of_range(self): self.assertEqual(rangeClass.__bases__,

如果对象是类的实例,那么应该在类的继承关系中找到该类

在下面的代码中,您可以清楚地看到,在基类的元组中,只有一个object类的对象,而没有其他对象

我的理解错了吗

rangeObject = range(3)
rangeClass = type(rangeObject)
class range(unittest.TestCase):
    def test_bases_of_range(self):
        self.assertEqual(rangeClass.__bases__,(object,))
    def test_range_instance(self):
        self.assertIsInstance(rangeObject,collections.Iterable)

范围
通过注册为
序列
的“虚拟子类”(这是
Iterable
的子类),以便
isinstance
IsubClass
工作;它实际上不是Iterable的真正子类

你可以在地图上看到它


这也适用于大多数其他内置集合。

您没有向我们显示任何输出。