Pythoner
Фотография
✈️Python использует оптимизации хранения неизменяемых объектов, чтобы ускорить работу и экономить память.
➡️Small Integer Cache
Числа от -5 до 256 кешируются и переиспользуются:
a = 256
b = 256
print(a is b) # True
c = 257
d = 257
print(c is d) # False (новые объекты)
🔫Это работает, потому что Python заранее создаёт эти числа в памяти.
➡️String Interning
Короткие строки и строки, состоящие только из букв и _, могут кешироваться:
s1 = "hello"
s2 = "hello"
print(s1 is s2) # True
s3 = "hello world!"
s4 = "hello world!"
print(s3 is s4) # False (слишком длинная строка)
🔫Используется в компиляторе Python для ускорения работы со строками.
🐍 Pythoner
10 · 1.3K ·