I think it is? I don't have much python experience, but I think that inner expression is equivalent to
ignore_collateral ? balance.available_ignoring_collateral : balance.available
Personally I would agree that it would be clearer if the syntax was more differentiated between a conditional expression and a statement.