相关疑难解决方法(0)

Python生成器对象:__sizeof __()

这可能是一个愚蠢的问题,但无论如何我都会问.我有一个生成器对象:

>>> def gen():
...     for i in range(10):
...         yield i
...         
>>> obj=gen()
Run Code Online (Sandbox Code Playgroud)

我可以测量它的大小:

>>> obj.__sizeof__()
24
Run Code Online (Sandbox Code Playgroud)

据说发电机被消耗掉了:

>>> for i in obj:
...     print i
...     
0
1
2
3
4
5
6
7
8
9
>>> obj.__sizeof__()
24
Run Code Online (Sandbox Code Playgroud)

......但obj.__sizeof__()仍然是一样的.

使用字符串它按预期工作:

>>> 'longstring'.__sizeof__()
34
>>> 'str'.__sizeof__()
27
Run Code Online (Sandbox Code Playgroud)

如果有人能够启发我,我将感激不尽.

python generator internals

14
推荐指数
2
解决办法
1万
查看次数

标签 统计

generator ×1

internals ×1

python ×1