В чём разница между `==` и `=`?

= (оператор присваивания) используется для присвоения значения переменной. Например, x = 5 присваивает переменной x значение 5.

== (оператор сравнения) используется для сравнения двух значений на равенство. Он возвращает True, если значения равны, и False в противном случае. Например, 5 == 5 вернет True, а 5 == 6 вернет False.

На собеседовании на позицию Python разработчика, разница между == и = является фундаментальным вопросом, демонстрирующим понимание основ языка.

= (Оператор присваивания):

  • Это оператор присваивания. Он используется для присвоения значения переменной.
  • Он берет выражение справа от знака равенства и присваивает его значение переменной, указанной слева.
  • Например: x = 5 присваивает значение 5 переменной x. my_list = [1, 2, 3] присваивает список переменной my_list.
  • Операция присваивания не возвращает никакого значения (точнее, возвращает None, но это не используется в основном).
  • Ключевое действие: создание или изменение связи имени (переменной) с объектом в памяти.

== (Оператор равенства):

  • Это оператор сравнения на равенство. Он используется для проверки, равны ли два значения.
  • Он сравнивает значения двух операндов (выражений) и возвращает логическое значение: True, если они равны, и False, если они не равны.
  • Например: 5 == 5 вернет True. "hello" == "world" вернет False. my_list == [1, 2, 3] вернет True, если my_list действительно содержит такой же список.
  • При сравнении объектов, оператор == использует метод __eq__(), который можно переопределить для кастомных классов, чтобы определить собственную логику сравнения. Если метод не переопределен, то будет сравниваться идентичность объектов (как если бы использовался оператор is).
  • Ключевое действие: проверка равенства значений (или их представления, определяемого методом __eq__) двух объектов.

Краткое сравнение:

  • =: Присваивание значения переменной.
  • ==: Сравнение двух значений на равенство (возвращает True или False).

Пример:


x = 5       # Присваиваем значение 5 переменной x
y = 10      # Присваиваем значение 10 переменной y

result = x == y  # Сравниваем значения x и y.  result будет False (потому что 5 не равно 10)

print(result)  # Вывод: False

if x == 5:
  print("x равно 5") # Этот блок кода будет выполнен, потому что условие истинно.
    

Важно не путать эти операторы, так как неправильное использование приведет к ошибкам в коде.

0