Статья вводит в заблуждение. Глянь, про constant folding, собственно, это и будет ответ на твой вопрос. Когда print (a is b) дает True в указанном случае - это предсказуемое поведение в случае с CPython.
И да, статья с разбором этой темы должна быть не про Python как таковой, а про конкретный интерпретатор CPython (Например в IPython, который крутится в jupiter notebook это может работать абсолютно иначе).
Но по сути, это бесполезная статья, которая тебе не пригодится в работе - я не могу представить ситуацию, в которой ты будешь сравнивать две константы int, объявленные тобой же, оператором is.
P.S. Ровно такое объяснение (как в статье) на вопрос про оператор is с int'ами дает, как правило, любая LLM (накину на вентилятор).
Статья вводит в заблуждение.
Глянь, про constant folding, собственно, это и будет ответ на твой вопрос.
Когда print (a is b) дает True в указанном случае - это предсказуемое поведение в случае с CPython.
И да, статья с разбором этой темы должна быть не про Python как таковой, а про конкретный интерпретатор CPython (Например в IPython, который крутится в jupiter notebook это может работать абсолютно иначе).
Но по сути, это бесполезная статья, которая тебе не пригодится в работе - я не могу представить ситуацию, в которой ты будешь сравнивать две константы int, объявленные тобой же, оператором is.
P.S. Ровно такое объяснение (как в статье) на вопрос про оператор is с int'ами дает, как правило, любая LLM (накину на вентилятор).