Linux/Unix > Python Essential Reference, Second Edition > 4. Operators and Expressions > Order of Evaluation | See All Titles

< BACK | Make Note | Bookmark | CONTINUE >

155117184014003188065099048180054212144238241179195140058238110137104031089150149081137077

### Order of Evaluation

Table 4.2 lists the order of operation (precedence rules) for Python operators. All operators except the power (`**`) operator are evaluated from left to right and are listed in the table from highest to lowest precedence. That is, operators listed first in the table are evaluated before operators listed later. (Note: Operators included together within subsections—such as `x` `*` `y` , `x` `/` `y` , and `x` `%` `y` , have equal precedence.)

##### Table 4.2. Order of Evaluation (Highest to Lowest)

Operator | Name
--- | ---
`(...), [...], {...}` | Tuple, list, and dictionary creation
``...`` | String conversion
`s` `[``i` `],` `s` `[i:``j` `],` `s` `.``attr` | Indexing and slicing attributes
`f` `(...)` | Function calls
`+``x` `, -``x` `, ~``x` | Unary operators
`x` `**` `y` | Power (right associative)
`x` `*` `y` `,` `x` `/` `y` `,` `x` `%` `y` | Multiplication, division, modulo
`x` `+` `y` `,` `x` `-` `y` | Addition, subtraction
`x` `<<` `y` `,` `x` `>>` `y` | Bit shifting
`x` `&` `y` | Bitwise and
`x` `^` `y` | Bitwise exclusive or
`x` `|` `y` | Bitwise or
`x` `<` `y` `,` `x` `<=` `y` `,` `x` `>` `y` `,` `x` `>=` `y` `,` `x` `==` `y` `,` `x` `!=` `y` `x` `<>` `y` `x` `is` `y` `,` `x` `is not` `y`

`x` `in` `s` `,` `x` `not in` `s`

Comparison, identity, and sequence membership tests

`not` `x` | Logical negation
`x` `and y` | Logical and
`x` `or` `y` | Logical or
`lambda` `args` `:` `expr` | Anonymous function

| Last updated on 3/28/2002 Python Essential Reference, Second Edition, © 2002 New Riders Publishing

< BACK | Make Note | Bookmark | CONTINUE >

© 2002, O'Reilly & Associates, Inc.