Код, который вы написали в вопросе, выполняет операторы в двух случаях:
var
оценивается как true и имеет длину 5 var
оценивается как ложное (например, None
или False
)
Вы можете объединить их в одно условие следующим образом:
if not var or len(var) == 5:
...
Условно, что некоторые другие ответыЕсли предположить, var and len(var) == 5
, то оценивается только True
в первом случае, а не во втором.Я скажу, однако, что два случая, которые вы выбрали, являются своего рода необычной комбинацией.Вы уверены, что не намеревались выполнять операторы, только если переменная имеет ненулевое значение и имеет длину 5?
Кроме того, как 6502 написал в комментарии,функции предназначены именно для этого случая, а именно для создания многократно используемых блоков кода.Таким образом, другое простое решение будет
def f():
....
if var:
if var.length == 5:
f()
else:
f()