• В чем различие == и IS в Python?

    - оператор==проверяет равенство значений двух объектов
    - оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти

    Python (CPython, если быть точнее) в целях производительности кеширует короткие строки и малые целые числа, поэтому возможны такие казусы:

    >>> str1 = 'hello'
    >>> str2 = 'hello'
    >>> str1 == str2
    True
    >>> str1 is str2
    True
    >>>


    Но стоит сделать строку длиннее и всё встаёт на свои места:

    >>> str1 = 'hello, my crazy world'
    >>> str2 = 'hello, my crazy world'
    >>> str1 == str2
    True
    >>> str1 is str2
    False
    Ответ написан
    2 комментария