>>> a = "Hello, World!!!"
>>> b = "Hello, World!!!"
>>> a is b
False
Однако обратите внимание, что:
>>> a = "Bob"
>>> b = "Bob"
>>> a is b
True
В этом случае это условие было True
, потому что компилятор свободен для внутренних строковых литералов и, таким образом, повторно использует один и тот же объект, что с маленькими струнами. Однако нет никакой гарантии, когда это произойдет, если это произойдет вообще, и изменения поведения между версиями и реализациями.
Реализуемым выходом False
должно быть:
>>> a = 'Hello, World!!!!'[:-1]
>>> b = 'Hello, World!!!!'[:-1]
>>> a is b
False
Или все, что на самом деле вычисляет строки.
Вы можете загрузить исходный код необходимой версии и создать его.
Загрузите и извлеките архив. cd
в извлеченную директорию и запустите ./configure
, затем запустите make
. После того, как вы увидите файл libz.so.1
, переместите его в каталог /lib/x86_64-linux-gnu/
.