(An Unofficial) Python Reference Wiki

"clearly marked experimental"

operator-if

New in version 2.5.

The if operator provides an inline if-then-else expression, similar to the ternary ?: operator used in C and similar languages.

Syntax:

expression if expression else expression

The expression x if C else y first evaluates C (not x); if C is true, x is evaluated and its value is returned; otherwise, y is evaluated and its value is returned.

In the context of Boolean operations, and also when expressions are used by control flow statements, the following values are interpreted as false: False, None, numeric zero of all types, and empty strings and containers (including strings, tuples, lists, dictionaries, sets and frozensets). All other values are interpreted as true.

Comments

The "in the contex of boolean operations" paragraph is repeated in lots of places. Replace with a shorter text and a link to a separate description (which should mention nonzero/len too).