У мене є метод, який викликає 4 інші методи послідовно, щоб перевірити конкретні умови, і повертається негайно (не перевіряючи наступні), коли кожен повертає щось Truthy.
def check_all_conditions():
x = check_size()
if x:
return x
x = check_color()
if x:
return x
x = check_tone()
if x:
return x
x = check_flavor()
if x:
return x
return None
Це здається великим кодом багажу. Замість кожного 2-рядкового оператора if, я б зробив щось на зразок:
x and return x
Але це недійсний Python. Чи пропускаю тут просте вишукане рішення? До речі, у цій ситуації ці чотири методи перевірки можуть бути дорогими, тому я не хочу їх називати кілька разів.
x and return x
, краще if x: return x
? Останнє набагато зручніше читати і, таким чином, ремонтувати. Ви не повинні занадто турбуватися про кількість символів або рядків; читабельність Вони все одно точно такі ж числа символів, які не є пробілами, і якщо ви дійсно повинні, вони if x: return x
будуть добре працювати лише в одному рядку.
x
(на відміну від нього bool(x)
), так як він стоїть, я думаю, можна впевнено вважати, що функції ОП можуть повернути що завгодно, і він хоче спочатку все, що є правдою.