Комментарии 15
Нижние подчеркивания
А какие ещё бывают подчёркивания? Средние? Верхние?
нижнее и двойное в питоне
Почему тогда оно не «двойное нижнее подчеркивание»? А если «двойное подчеркивание», то обычное просто «подчеркивание» (ну или одинарное), а никак не нижнее.
погуглите alt 95 в юникоде по-русски)
"Кеш малых чисел "
дело не в кеше, == сравнивает значения, в случае с is, помимо значения проверяется одна и та же ли область памяти
Поскольку переменные разные (но значения одинаковые), сравнение по значению дает True, is - нет, разные области памяти
Отличные примеры! Читаемость через _ - мастхэв, о котором многие забывают. А интернирование интов - отличная тема, чтобы показать, как Python работает под капотом.
Можно также с генератором.
x, y = 250, 250
gen = (x + i is y + i for i in range(11))
for result in gen:
print(result)Интересно также что это работает со строками
v = '100'
x = int(v)+1
y = int(v)+1
print(x is y)оказывается true
Размер кеша в новых версиях поменялся
Проверял в 3.14.3. Вижу тоже самое, что и в 3.13.11, на котором пишу. Гугл и чатгпт со мной согласны:
```
x=-7, y=-7, x is y False
x=-6, y=-6, x is y False
x=-5, y=-5, x is y True
x=-4, y=-4, x is y True
...
x=255, y=255, x is y True
x=256, y=256, x is y True
x=257, y=257, x is y False
x=258, y=258, x is y False
В 3.15 размер будет больше - gh-133059: Increase PYNSMALLPOSINTS size by dg-pb · Pull Request #133160 · python/cpython
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Два факта об int в Python Один забавный факт привел меня к открытию другого :) Читал Fluent Python и наткнулся на...