Рубрики
Без рубрики

Python – Разница между ‘IS’ и ‘==’

В Python оператор IS сравнивает, если две переменные указывают на один и тот же объект. Проверки … с меткой Python, Foundation.

В Python это Оператор сравнивает, указывают ли две переменные на один и тот же объект. == Оператор проверяет «значения» переменных равны.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

a = [1, 2, 3]
b = [1, 2, 3]
c = a

if (a == b):
    print("True")
else:
    print("False")

if (a is b):
    print("True")
else:
    print("False")

if (a == c):
    print("True")
else:
    print("False")

if (a is c):
    print("True")
else:
    print("False")

Или с более “питоническим” и более четким синтаксисом:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

a = [1, 2, 3]
b = [1, 2, 3]
c = a

print(a == b)
print(a is b)
print(a == c)
print(a is c)

Вывод будет:

True
False
True
True

Для получения подробной информации вы можете проверить адреса памяти этих объектов, чтобы увидеть, являются ли они одинаковыми или нет:

print(hex(id(a)))
print(hex(id(b)))
print(hex(id(c)))

Выход:

0x7ff7b59d8488
0x7ff7b59d84c8
0x7ff7b59d8488

Все сделано!

Оригинал: “https://dev.to/serhatteker/python-difference-between-is-and-2316”