Я говорю неожиданно, потому что явно не думаю о Try and None правильно.
Я попал сюда, потому что я вызывал функцию, возвращающую значение для MyVar, а затем тестировал с помощью Trys, чтобы убедиться, что функция не вернула None.
Что-то вроде:
def Myfunct():
return "Some_URL"
MyVar = Myfunct()
try:
MyVar is not None:
pass
Я не смог получить ожидаемый результат TRY. Таким образом, я явно указал значения и проверил снова.
Тестирование None с помощью IF дает правильные результаты, но выполнение того же с TRY дает неожиданные результаты, которые получены из кода ниже:
Type of My_Var is: <class 'str'> with value: Some_URL
IF is None: False
IF is not None: True
TRY is None: True
TRY is not None: True
Обе попытки равны None, а попытки - нет None оба возвращают True. Как это возможно? Чего мне не хватает в проверке, установлено ли значение
My_Var = None
My_Var = "Some_URL"
print ("Type of My_Var is:", type(My_Var), "with value: ", My_Var)
if My_Var is None:
print ("IF is None: True")
else:
print ("IF is None: False")
if My_Var is not None:
print ("IF is not None: True")
else:
print ("IF is not None: False")
try:
My_Var is None
print ("TRY is None: True" )
pass
except Exception as e:
print ("TRY is None: False" )
try:
My_Var is not None
print ("TRY is not None: True" )
pass
except Exception as e:
print ("TRY is not None: False" )