Чему равно выражение bool("")?
AЗначение
True: любые строки в булевом контексте дают одинаковый истинный результатBЗначение
False: пустая строка "" в булевом контексте трактуется как ложнаяCЗначение
None: для пустой строки результат булевого приведения в Python не определёнDОшибка
TypeError: функция bool() не принимает строки без специального методаПравильный ответ. Пустая строка в булевом контексте считается ложной.
Разбор
В Python многие объекты можно использовать в условии if x:. Пустая строка "" считается «ложной», поэтому bool("") вернёт False. Непустая строка, например "a", будет считаться истинной. Аналогично для 0, [] и None, которые трактуются как False.
Можно заниматься бесплатно
Готовим вопросы…
Три вопроса по теме этой страницы, с объяснениями.
Ещё вопросы по теме «Синтаксис и типы данных»
- Какой результат вернёт вызов `type(10)`?
- После выполнения `y = str(42)` чему равен `y` и какой у него тип?
- Какая проверка наиболее корректна и идиоматична, чтобы убедиться, что переменная `x` равна `None`?
- Чему равно значение переменной `result` после выполнения строки `result = 3 < 5`?
- Что вернёт выражение `" Python ".strip()`?
- Все вопросы по «Синтаксис и типы данных» →