TGViewer
PyThrone PyThrone @pythrone · 13 subscribers
Post #9 165
Что выведет этот код?

Строки длиной до 4096 (до версии 3.7 длиной до 21) кэшируются.
s1 = "a" * 4096
s2 = "a" * 4096

print(s1 is s2) # True

s1 = "a" * 4097
s2 = "a" * 4097

print(s1 is s2) # False


Строки не кэшируются, если они созданы в рантайме:
s1 = "python"
s2 = "".join(["p", "y", "t", "h", "o", "n"]) # выражение выполняется в рантайме

print(s1 is s2) # False


Так же следует понимать, что это может поменяться в любой момент и лучше сравнивать строки через ==, а не через is.

#string #строки
  • 👍 5
More from @pythrone
  1. Mar 10, 2023Как можно вызывать эту функцию? Правильный ответ # 1 и # 2. arg1 - только позиционный аргу…
  2. Mar 9, 2023В данном случае будет выведено None, потому что оператор and возвращает первое ложное знач…
  3. Feb 27, 2023Что выведет этот код? Iterable - это объект по которому можно пройтись. Для питона это люб…
  4. Feb 22, 2023Что выведет этот код? Могло показаться, что выведется словарь с буквами и их повторением в…
  5. Feb 20, 2023Set - это множество, в котором элементы не имеют порядок. Т.е. порядок не гарантируется, н…
  6. Feb 16, 2023Что выведет этот код? Когда мы выполняем операции вида: left + right Вызывается метод left…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →