Де слід використовувати значення Truthy або Falsy? Це синтаксичний цукор , тому ви завжди можете їх уникати, але, використовуючи їх, можна зробити ваш код більш читабельним і зробити вас ефективнішими. Більше того, ви знайдете їх у багатьох прикладах коду, будь то в python чи ні, оскільки це вважається хорошою практикою.
Як було сказано в інших відповідях, ви можете використовувати їх у тестах і циклі. Ось два інші приклади в python 3 із значеннями за замовчуванням у поєднанні з or, sбудучи строковою змінною. Ви поширитеся і на подібні ситуації.
Без правди
if len(s) > 0:
print(s)
else:
print('Default value')
з truthy це більш стисло:
print(s or 'Default value')
У python 3.8 ми можемо скористатися виразом призначення :=
без правди
if len(s) == 0:
s = 'Default value'
do_something(s)
з truthy він також коротший
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це є правдою .