В 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”