Python
В чем разница между == и is в python?
Либо я даун и не вижу разницы, либо я просто даун. Объясните на пальцах, из статей и видео и нихера не понял
== равенство значений
is - идентичность
Примеры использования - вот писал графический калькулятор
https://pastebin.com/zeLh0ufA
В местах типа final_result2 = list(filter(lambda x: not x is None, final_result1)) пытался использовать вместо is !=, то есть не равно, но PyCharm это подчеркнул как ошибку и сказал, нет, мил человек, здесь нужно is, а не !=
is - идентичность
Примеры использования - вот писал графический калькулятор
https://pastebin.com/zeLh0ufA
В местах типа final_result2 = list(filter(lambda x: not x is None, final_result1)) пытался использовать вместо is !=, то есть не равно, но PyCharm это подчеркнул как ошибку и сказал, нет, мил человек, здесь нужно is, а не !=
Азад Хан-Хойский
Понял, спасибо
В Python оператор == используется для сравнения значений двух объектов, тогда как оператор is используется для проверки, указывают ли две переменные на один и тот же объект в памяти.
Оператор == сравнивает значения двух объектов и возвращает True, если эти значения равны, и False в противном случае. Например:
a = 5
b = 5
print(a == b) # True
Оператор is проверяет, указывают ли две переменные на один и тот же объект в памяти, и возвращает True, если это так, и False в противном случае. Например:
a = [1, 2, 3]
b = a
print(a is b) # True
В этом примере переменная b ссылается на тот же объект в памяти, что и переменная a. Однако, если мы создадим новый список с теми же значениями, то оператор is вернет False, так как это уже другой объект в памяти:
a = [1, 2, 3]
b = [1, 2, 3]
print(a is b) # False
В общем случае, использование оператора == должно использоваться для сравнения значений объектов, а оператора is - для проверки, указывают ли две переменные на один и тот же объект в памяти. Однако, в некоторых случаях, таких как сравнение со значениями None или проверка на истинность (True или False), может быть более эффективным использовать оператор is.
Оператор == сравнивает значения двух объектов и возвращает True, если эти значения равны, и False в противном случае. Например:
a = 5
b = 5
print(a == b) # True
Оператор is проверяет, указывают ли две переменные на один и тот же объект в памяти, и возвращает True, если это так, и False в противном случае. Например:
a = [1, 2, 3]
b = a
print(a is b) # True
В этом примере переменная b ссылается на тот же объект в памяти, что и переменная a. Однако, если мы создадим новый список с теми же значениями, то оператор is вернет False, так как это уже другой объект в памяти:
a = [1, 2, 3]
b = [1, 2, 3]
print(a is b) # False
В общем случае, использование оператора == должно использоваться для сравнения значений объектов, а оператора is - для проверки, указывают ли две переменные на один и тот же объект в памяти. Однако, в некоторых случаях, таких как сравнение со значениями None или проверка на истинность (True или False), может быть более эффективным использовать оператор is.
Азад Хан-Хойский
А можете привести на практике пример с использованием is. В целом понятно, но не понимаю, где это можно использовать
Похожие вопросы
- Курс под названием Анализ данных на Python больше держит акцент на Big Data-у, или нет ? В чем разница между Big Data ..
- Ошибка TypeError: 'str' object is not callable . Python 3. Как исправить?
- Есть ли разница между словарём и переменными в python
- Окончил курсы на степике по Python что делать дальше?
- Python программирование. Помогите написать программу.
- Нейронные сети на Python 3.4
- Помогите, как сделать авторизацию в программе на python?
- Что писать на Python?
- Есть ли смысл изучать python
- Подскажите ресурс\книги с примерами по высшей математике и их решений на языке Python