이것은 어리석은 질문 일 수 있지만 어쨌든 묻습니다.파이썬 생성기 개체 : __sizeof __()
>>> obj.__sizeof__()
24
발전기가 소비받을했다고한다 : 그것은 크기의
>>> def gen():
... for i in range(10):
... yield i
...
>>> obj=gen()
내가 측정 할 수
>>> 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
내가 감사 할 것입니다.
또한 ['sys.getsizeof()'(http://docs.python.org/library/sys.html#sys.getsizeof에 관심이있을 수 있습니다 예를
listiterator
를 들어 해당__length_hint__
방법이있다). 또한 gc 오버 헤드를 고려합니다 (문제가있는 경우). 조금 덜 익숙합니다. – mhawke@mhawke : 실제로 OP는'__sizeof__'에도 관심이 없었습니다! :) –
@NedBatchelder : 네, 맞아요! – mhawke