Ключевое слово Python 'is' проверяет идентичность объекта, а оператор == проверяет равенство значений. Например:
>>> if Car1 is Car2:
>>> [do something...]
этот код проверяет, относятся ли Car1 и Car2 к одной и той же машине, а
>>> if Car1 == Car2:
>>> [do something...]
проверяет, имеют ли Car1 и Car2 одинаковое качество, то есть имеют ли они одинаковую модель, цвет и т. Д.
По этой причине __name__
is "__main__"
возвращает False, поскольку строка "__main__"
и значение, сохраненное в __name__
, на самом деле являются двумя разными строковыми объектами. Чтобы проверить, равно ли значение строки __name__
строке __main__
, используйте оператор ==.