以下代码生成了给定的输出。
为什么在考虑第二个元素时,
另外,正如@Herbert所指出的,
import sys
print('ex1:')
ex1 = 'Hello'
print('\t', ex1.__sizeof__())
print('\nex2:')
ex2 = ('Hello', 53)
print('\t', ex2.__sizeof__())
输出:
ex1:
54
ex2:
40
为什么在考虑第二个元素时,
__sizeof__()
输出的结果更小?输出不应该更大吗?我了解到从这个答案中得知应该使用 sys.getsizeof()
,但行为似乎仍然很奇怪。我正在使用Python 3.5.2
。另外,正如@Herbert所指出的,
'Hello'
占用的内存比 ('Hello',)
即一个包含单个元素的tuple
要多。为什么会这样呢?