В python3 использование операнда >
или <
в NoneType
приведет к ошибке TypeError.
Например, при сравнении двух дат я могу использовать:
a = datetime(...)
b = datetime(...)
if a < b:
// do something
Но если a = None
по какой-то причине (например, это результат функции), то это приводит к:
'<' not supported between instances of 'NoneType' and 'DateTime'
В python2 это будет оцениваться как True
.
Если a
и b
являются переменными и могут быть datetime
или None
, , и я хочу пропустить сравнение, если любое из значений None
, какое самое элегантное способ решить эту проблему?
Например, следующее работает, но кажется, что есть лучший однострочный подход?
if a and b:
if a < b:
// do something