Не обязательно ли len(string) > 0
быть в выражении условия?
Нет, но приведенный вами пример не имеет большого смысла.
Вот другая, похожая конструкция, которая может помочь:
x = input()
try:
10 / int(x)
except ZeroDivisionError:
print("Can't divide by zero")
except ValueError:
print("Can't convert to int")
Результат 10 / int(x)
вычисляется (чтобы увидеть, вызовет ли он ошибку), но результат этого вычисления отбрасывается.
Причина, по которой я говорю, что ваш пример немного странный, заключается в том, что сравнение с нулем не будет иметь никакого эффекта. Поэтому, хотя код будет служить способом проверки возможности вызова len
на string
, это все, что он сделает.