command - строка, все проверки условий в if возвращают
bool значение.
По сути, проверка выглядит примерно так:
if not bool(command):
bool от пустой строки вернет
False, если строка не пустая -
True
not - логический оператор, который возвращает
True, если утверждение не
True. В общем возвращает противоположное значение
Ну то есть
>>> not True
False
>>> not False
True
Если вводится пустая строка
if not bool(command):
, то условие выглядит как
if not False:
(потому что bool от пустой строки возвращает False). В свою очередь,
not False возвращает
True. В итоге конструкция превращается в
if True:
и условие выполняется.
Если строка не пустая, то соответственно будет
if not True и затем
if False, условие не выполнилось.
Так что, если строка пустая - цикл пропускает.