Уведомления

Группа в Telegram: @pythonsu

#1 Март 21, 2017 21:35:08

bitt-boy
Зарегистрирован: 2017-03-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка на идентичность

Что-то не понимаю. В командной оболочке набираю:
q = 5
w = 5
q is w
возвращает True

q = 555
w = 555
q is w
возвращает False

В чем дело?

Офлайн

#2 Март 21, 2017 22:19:18

Stright
От: Кострома
Зарегистрирован: 2015-01-20
Сообщения: 139
Репутация: +  16  -
Профиль   Отправить e-mail  

Проверка на идентичность

Марк Лутц “Изучаем Python” 4 издание, стр. 203
Если вкратце, то интерпретатор кэширует малые целые числа и небольшие строки для повторного их использования, т.е переменные q и w указывают на один и тот же объект в первом случае

Отредактировано Stright (Март 21, 2017 22:24:26)

Офлайн

#3 Март 21, 2017 22:24:47

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Проверка на идентичность

В целях оптимизации, повторного использования объектов и ускорения работы интерпретатор Питона выполняет кэширование малых целых чисел и небольших строк. Об этом подробно рассказывает М. Лутц в своей книге “Изучаем Python” (4-е изд.) на стр. 203, 204 и 306.

Офлайн

#4 Март 21, 2017 22:27:44

bitt-boy
Зарегистрирован: 2017-03-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка на идентичность

Stright
Марк Лутц “Изучаем Python” 4 издание, стр. 203Если вкратце, то интерпретатор кэширует малые целые числа и небольшие строки для повторного их использования
Понятно, спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version