Где следует использовать значения истинности или ложности? Это синтаксический сахар , поэтому вы всегда можете избежать их, но их использование может сделать ваш код более читабельным и повысить эффективность. Более того, вы найдете их во многих примерах кода, будь то на Python или нет, потому что это считается хорошей практикой.
Как упоминалось в других ответах, вы можете использовать их в тестах if и while. Вот два примера в Python 3 с значениями по умолчанию в сочетании с or
, s
будучи строковой переменной. Вы также будете распространяться на подобные ситуации.
Без правды
if len(s) > 0:
print(s)
else:
print('Default value')
с правдой это более кратко:
print(s or 'Default value')
В python 3.8 мы можем воспользоваться выражением присваивания :=
без правды
if len(s) == 0:
s = 'Default value'
do_something(s)
с правдами он короче тоже
s or (s := 'Default value')
do_something(s)
или даже короче,
do_something(s or (s := 'Default value'))
Без выражения присваивания можно сделать
s = s or 'Default value'
do_something(s)
но не короче. Некоторые люди находят s =...
строку неудовлетворительной, потому что она соответствует
if len(s)>0:
s = s # HERE is an extra useless assignment
else:
s = "Default value"
тем не менее, вы можете придерживаться этого стиля кодирования, если вам это удобно.
bool(value)
результатTrue
, тоvalue
это правда .