это идентификатор сравнения, но идентификатор должен быть одинаковым между -5 и 256, почему это не так, если x = 3 и y = 5?

      a = 10 # range -5 to 256
b = 10 # range -5 to 256
print(id(a))
print(id(b))
print(a is b)

# OK THAT'S FINE 

НО

      a = 10 # range -5 to 256
b = 10 # range -5 to 256
print(id(a))
print(id(b)) # same memory adress
print(a is b)

# That's working

c = 3 # range -5 to 256
d = 5 # range -5 to 256
print(id(c))
print(id(d)) 
print(c is d) 

НЕ тот же самый адрес памяти O_oFalse потому что... meeeehhh диапазон должен быть в порядке!

1 ответ

На следующей иллюстрации вы должны понять, почему:

  • a is bправда
  • c is dневерно

для числа от -5 до 256

и почему:

  • e is fневерно

для других номеров за пределами этого специального диапазона

Другие вопросы по тегам