所以,如果我做类似的事情:
>>> 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。
有人知道它的含义和/或用法吗?
谢谢你, 丹
答案 0 :(得分:1)
在CPython中,它是该对象的存储地址,它对应于id
返回的值。对于调试目的而言,查看两个打印是否引用同一个对象可能很有用(假设在某个时刻,在给定地址处只能存在一个Python对象)。