| # Unary operators |
| |
| - foo |
| |
| + foo |
| |
| ~ foo |
| |
| - +foo |
| |
| - + ~foo |
| |
| not foo |
| |
| # Binary operators |
| |
| foo=bar+baz+qux |
| |
| foo=bar-baz-qux |
| |
| foo=bar*baz*qux |
| |
| foo=bar/baz/qux |
| |
| foo=bar//baz//qux |
| |
| foo=bar%baz%qux |
| |
| foo=bar|baz|qux |
| |
| foo=bar&baz&qux |
| |
| foo=bar^baz^qux |
| |
| foo=bar<<baz<<qux |
| |
| foo=bar>>baz>>qux |
| |
| foo=~bar|~baz^-qux<<quux>>baa |
| |
| # If-else operator precedence |
| - f(1) if not a else 2+3 |
| |
| # Logic operators |
| not foo<bar>baz<=foo>=bar!=baz in foo==bar or baz |
| |
| x = "abc" in copts or "def" in copts |
| |
| x2 = "abc" not in copts and "def" not in copts |
| |
| y = "abc" in (copts or []) == False |
| |
| a = 1 + 2 if 3 + 4 else 5 + 6 |
| |
| # Augmented assignments |
| |
| foo+=bar |
| |
| foo-=bar |
| |
| foo*=bar |
| |
| foo/=bar |
| |
| foo//=bar |
| |
| foo%=bar |
| |
| foo|=bar |
| |
| foo&=bar |
| |
| foo^=bar |
| |
| foo<<=bar |
| |
| foo>>=bar |