Я где-то читал, что функции всегда должны возвращать только один тип поэтому следующий код считается плохим кодом:
def x(foo):
if 'bar' in foo:
return (foo, 'bar')
return None
Я думаю, лучшее решение было бы
def x(foo):
if 'bar' in foo:
return (foo, 'bar')
return ()
Разве не было бы более разумным, если бы разумно было вернуть None, чтобы создать новый пустой кортеж, или эта разница во времени слишком мала, чтобы заметить даже в больших проектах?