这可能是一个愚蠢的问题,但无论如何我都会问。我有一个生成器对象:
>>> def gen():
... for i in range(10):
... yield i
...
>>> obj=gen()
我可以测量它的大小:
>>> obj.__sizeof__()
24
据说生成器被消耗:
>>> for i in obj:
... print i
...
0
1
2
3
4
5
6
7
8
9
>>> obj.__sizeof__()
24
...但obj.__sizeof__()
保持不变。
使用字符串它可以按我的预期工作:
>>> 'longstring'.__sizeof__()
34
>>> 'str'.__sizeof__()
27
如果有人能启发我,我将不胜感激。