# Built-in Types and Operators

## Operators and Precedence

Table 1-1 lists Python’s expression operators. Operators in the lower cells of this table have higher precedence (i.e., bind tighter) when used in mixed-operator expressions without parentheses.

Table 1-1. Python 3.0 expression operators and precedence

Operator

Description

`yield X`

Generator function `send()` protocol

`lambda args: expr`

Anonymous function maker

`X if Y else Z`

Ternary selection (`X` is evaluated only if `Y` is true)

`X or Y`

Logical `OR`: `Y` is evaluated only if `X` is false

`X and Y`

Logical `AND`: `Y` is evaluated only if `X` is true

`not X`

Logical negation

`X in Y`, ```X not in Y```

Membership: iterables, sets

`X is Y`, ```X is not Y```

Object identity tests

`X < Y`, ```X <= Y```, ```X > Y```, ```X >= Y```

Magnitude comparisons, set subset and superset

`X == Y`, `X != Y`Equality operators

`X | Y`

Bitwise `OR`, set union

`X ^ Y`

Bitwise exclusive `OR`, set symmetric difference

`X & Y`

Bitwise `AND`, set intersection

`X << Y`, `X >> Y`

Shift `X` left, right by `Y` bits

`X + Y`, ```X – Y```

`X * Y`, ```X % Y```,

```X / Y```, ```X // Y```

Multiplication/repetition, remainder/format, division, floor division

`-X`, `+X`

Unary negation, identity

`˜X`

Bitwise NOT complement (inversion)

`X ** Y`

Power (exponentiation)

`X[i]`

Indexing (sequence, mapping, others)

`X[i:j:k]`

Slicing (all bounds optional)

`X(...)`

Call (function, method, class, other callable)

`X.attr`

Attribute reference

`(...)`

Tuple, expression, generator expression

`[...]`

List, list comprehension

`{...}`

Dictionary, set, dictionary and set comprehension

## Operator Usage Notes

• In Python 2.6, ...

Get Python Pocket Reference, 4th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.