я заметил следующий факт в Python:питона список SizeOf против SIZEOF кортежа
>>> (1, 2, 3).__sizeof__()
48
>>> [1, 2, 3].__sizeof__()
64
Я понимаю разницу между списком и кортежей, но я ожидал их SizeOf (size of object in memory)
быть одинаковыми: оба приходят с методами и оба содержат одинаковые значения.
Кроме того, размер разница зависит от элементов Длинна:
>>> for size in (10, 100, 1000, 10000):
tuple_ = tuple(range(size))
list_ = list(range(size))
print list_.__sizeof__(), tuple_.__sizeof__()
176 104
984 824
9088 8024
90088 80024
- Как мы можем это объяснить?
- Где я могу найти хороший документ для внутренних компонентов python?
Мне понравился ваш комментарий, пока я не увидел 'compile time'. Я что-то пропустил? –
@OrDuan, время, когда источник python скомпилирован в байт-код (какой байт-код может быть сохранен как файл .py [co]). –
Файлы @omri_saadon pyo/pyc быстрее при запуске скрипта, если вы используете переменные внутри своих функций/'__main__', не должно быть повышения производительности, правильно? Просто хочу убедиться, что я все здесь. –