У меня есть немного кода, который ведет себя не так, как ожидалось. Я сжал это до проблемы здесь:
item = None
try:
if item != None:
print('pass')
except TypeError, e:
print('fail')
если элемент имеет тип, отличный от «Нет», он печатает проход. Я хотел создать исключение, если элемент равен None, но когда я устанавливаю для элемента значение None, ничего не распечатывается.
Я мог бы легко сделать это с помощью оператора if, но мне любопытно узнать, почему это не работает как попытка/за исключением.
есть идеи?
Спасибо!
raise
ошибку? - person yoopoo   schedule 08.07.2014item != None
должно бытьitem is not None
. Прочтите Pep8. Из Pep8: Сравнения с одиночками, такими какNone
, всегда должны выполняться с помощьюis
илиis not
, а не операторов равенства. - person Shadow9043   schedule 08.07.2014