Ответ 1
Попробуйте variable is False
. False is 0
возвращает False
,
Как достичь эффекта оператора ===
в Python?
Например, я не хочу, чтобы False == 0
был True
.
Попробуйте variable is False
. False is 0
возвращает False
,
Если вы хотите проверить, что значение и тип используются одинаково:
x == y and type(x) == type(y)
В Python обычно избегают явных сопоставлений типов, подобных этому, но поскольку булевы являются подклассом целых чисел, это единственный выбор здесь.
x is y
сравнивает идентификатор - два имени относятся к одному и тому же объекту в памяти. Булевы значения Python являются одиночными, поэтому это будет работать при их сравнении, но не будет работать для большинства типов.
Вы можете использовать оператор is
для проверки идентичности объекта. False is 0
вернет False
тогда.
Идти с определением Mathematica, здесь небольшая функция для выполнения задания. Сезон delta
по вкусу:
def SameQ(pram1, pram2, delta=0.0000001):
if type(pram1) == type(pram2):
if pram1 == pram2:
return True
try:
if abs(pram1 - pram2) <= delta:
return True
except Exception:
pass
return False