I don't necessarily agree that Python overall is difficult to read, but one thing that seems to get my every time is the
foo = x if y else z foo = x if y else zMany languages support the ternary operator, where it would be:
foo = y ? x : z
Which "feels better" but I think that's because I learned ternaries first.Some languages like Rust and Kotlin do support assignment of an if statement like
foo = if (y) { x } else { z }
And I think that's a good step, as it doesn't need to introduce new syntax, just allows assignment of "blocks"In the beginning of doing Rust I was missing the ternary operator, but now I couldn't care less.
foo = if y { x } else { y }
Works well :-)