<iterator object =“” at =“” 0x00a1db50 =“”> 0x00等的含义是什么?

时间:2018-12-15 17:01:13

标签: python python-3.x iterator

所以,如果我做类似的事情:

>>> s ='abc'
>>> it = iter(s)
>>> print(it)
<str_iterator object at 0x10543eac8>

或:

>>> s = 'abc'
>>> it = iter(s)
>>> it
<iterator object at 0x00A1DB50>

在两种情况下,我们都表示“ it” 是迭代器(在第一个示例中说明了哪种迭代器)。我很好奇的是后面的字符串的含义。 0x10543eac8或0x00A1DB50。

有人知道它的含义和/或用法吗?

谢谢你, 丹

1 个答案:

答案 0 :(得分:1)

在CPython中,它是该对象的存储地址,它对应于id返回的值。对于调试目的而言,查看两个打印是否引用同一个对象可能很有用(假设在某个时刻,在给定地址处只能存在一个Python对象)。