Эллипсисы Rust'а
Некоторые вещи настолько глубоко фундаментально правильные, что после того, как один раз попробуешь, дальше становится не понятно, почему у всех остальных не так.
Например, в Rust последнее выражение (без ';') - это возвращемое значение функции.
fn foo() -> i32{
2
}
возвращает 2.
Почему не так же в питоне? Нет ни одной причины, почему последнее значение не может быть возвращемым. Наоборот, модель питона "нет return - возвращем None" звучит очень странно и произвольно.
Ленивое "не печатать return в конце функции" очень трудно изжить, потому что оно очевидно, удобно и кратко.
Например, в Rust последнее выражение (без ';') - это возвращемое значение функции.
fn foo() -> i32{
2
}
возвращает 2.
Почему не так же в питоне? Нет ни одной причины, почему последнее значение не может быть возвращемым. Наоборот, модель питона "нет return - возвращем None" звучит очень странно и произвольно.
Ленивое "не печатать return в конце функции" очень трудно изжить, потому что оно очевидно, удобно и кратко.