3 ms·
This starts to get into "what is idiomatic python?" which changes as the language evolves. For example, before Python had an official ternary form, this was a c
by softbuilder 12y ago
This starts to get into "what is idiomatic python?" which changes as the language evolves. For example, before Python had an official ternary form, this was a common idiom:
account.status = ["paid", "unpaid"][amount_due > 0]
This does the same thing as the FizzBuzz example, coercing a bool to int. Here the int is used as an index into the list of the two strings.
Personally, I found this handy and liked it a lot. Others didn't and now there is this, which isn't bad:
account.status = "unpaid" if amount_due > 0 else "paid"
Maybe it's less like using obscure French and more like speaking in a slightly different dialect, or in a different region with different cultural references.