Hello World
1.52K subscribers
71 photos
6 videos
3 files
161 links
Be so good that you cannot be ignored. And then, go one step beyond.
Download Telegram
256 — существующий объект, а 257 — нет

При запуске Python в памяти размещаются числа от -5 до 256. Они используются часто, так что целесообразно держать их наготове.
>>> a = 256
>>> b = 256
>>> id(a)
4478229648
>>> id(b)
4478229648


Интерпретатор оказался не так умён, и во время исполнения y = 257 не понял, что мы уже создали целое число со значением 257, поэтому создаёт в памяти другой объект.
>>> a = 257
>>> b = 257
>>> id(a)
4481407824
>>> id(b)
4481407600


#tips
timeit

Модуль timeit позволяет измерить время выполнения небольших кусочков кода:
>>> import timeit
>>> timeit.timeit('"-".join(str(n) for n in range(100))',
number=10000)
0.3412662749997253


>>> timeit.timeit('"-".join([str(n) for n in range(100)])',
number=10000)
0.2996307989997149


>>> timeit.timeit('"-".join(map(str, range(100)))',
number=10000)
0.24581470699922647


#timeit #tips