# Difference between revisions of "Python - Operators, Expressions"

Following are terse descriptions for Python3 operators. For more information, see w3schools for a bit more explanation and python.org for the language reference.

# Operators

The following are a basic set of operators that most will intuitively know what they do.

• Arithmetic operators: + - * / //
• Note that / is floating point division (3/2 is 1.5), while // is integer division (3//2 is rounded down to 1).
• Assignment operators: =
• Comparison operators: < <= == != >= >
• Note that == tests if two values are equal, != tests if they are not equal (3 != 2 will be True, 3 == 2 will be False).
• Logical operators: and or not
• Membership operators: in, not in

## More Operators

The following are more operators. These may not be obvious. Some examples are given, but you may need to read through your Python text to understand these.

• Arithmetic operators: % **
•  % is remainder (10 % 3 is 1, 17 % 3 is 2), and ** is exponentiation (10**3 is 1000, 2**3 is 8).
• Assignment operators: += -= *= /= //= %= **= &= |= ^= >>= <<=
• Each of these is shorthand. For example, x += 3 is a shorthand for x = x + 3
• Identity operators: is, is not
• Test whether two objects are the same, not just whether the values are the same. For simple variables/expressions, is will be the same as ==, but for lists/tuples/dictionaries is only gives True if the two things being compared are actually the same data in memory.
• Bitwise operators: & | ^ ~ << >>
• These operate on the bits of a number. You need to understand binary before you can understand these. Examples: 12 & 8 evaluates to 8, 12 | 7 evaluates to 15, 12 ^ 8 evaluates to 4, ~7 evaluates to -8 (same as -7-1), 3 << 2 evaluates to 12, 12 >> 1 evaluates to 6.