- Python Basics
- Python - Home
- Python - Overview
- Python - History
- Python - Features
- Python vs C++
- Python - Hello World Program
- Python - Application Areas
- Python - Interpreter
- Python - Environment Setup
- Python - Virtual Environment
- Python - Basic Syntax
- Python - Variables
- Python - Data Types
- Python - Type Casting
- Python - Unicode System
- Python - Literals
- Python - Operators
- Python - Operator Precedence
- Python - Arithmetic Operators
- Python - Assignment Operators
- Python - Augmented Operators
- Python - Comparison Operators
- Python - Logical Operators
- Python - Bitwise Operators
- Python - Membership Operators
- Python - Identity Operators
- Python - Comments
- Python - User Input
- Python - Numbers
- Python - Booleans
- Python Control Statements
- Python - Control Flow
- Python - Decision Making
- Python - If else
- Python - Match-Case Statement
- Python - for Loops
- Python - for-else Loops
- Python - While Loops
- Python - break Statement
- Python - continue Statement
- Python - pass Statement
- Python Functions & Modules
- Python - Functions
- Python - Default Arguments
- Python - Keyword Arguments
- Python - Keyword-Only Arguments
- Python - Positional Arguments
- Python - Positional-Only Arguments
- Python - Arbitrary Arguments
- Python - Variables Scope
- Python - Function Annotations
- Python - Modules
- Python - Built in Functions
- Python Strings
- Python - Strings
- Python - Slicing Strings
- Python - Modify Strings
- Python - String Concatenation
- Python - String Formatting
- Python - Escape Characters
- Python - String Methods
- Python - String Exercises
- Python Lists
- Python - Lists
- Python - Access List Items
- Python - Change List Items
- Python - Add List Items
- Python - Remove List Items
- Python - Loop Lists
- Python - List Comprehension
- Python - Sort Lists
- Python - Copy Lists
- Python - Join Lists
- Python - List Methods
- Python - List Exercises
- Python Tuples
- Python - Tuples
- Python - Access Tuple Items
- Python - Update Tuples
- Python - Unpack Tuples
- Python - Loop Tuples
- Python - Join Tuples
- Python - Tuple Methods
- Python - Tuple Exercises
- Python Sets
- Python - Sets
- Python - Access Set Items
- Python - Add Set Items
- Python - Remove Set Items
- Python - Loop Sets
- Python - Join Sets
- Python - Copy Sets
- Python - Set Operators
- Python - Set Methods
- Python - Set Exercises
- Python Dictionaries
- Python - Dictionaries
- Python - Access Dictionary Items
- Python - Change Dictionary Items
- Python - Add Dictionary Items
- Python - Remove Dictionary Items
- Python - Dictionary View Objects
- Python - Loop Dictionaries
- Python - Copy Dictionaries
- Python - Nested Dictionaries
- Python - Dictionary Methods
- Python - Dictionary Exercises
- Python Arrays
- Python - Arrays
- Python - Access Array Items
- Python - Add Array Items
- Python - Remove Array Items
- Python - Loop Arrays
- Python - Copy Arrays
- Python - Reverse Arrays
- Python - Sort Arrays
- Python - Join Arrays
- Python - Array Methods
- Python - Array Exercises
- Python File Handling
- Python - File Handling
- Python - Write to File
- Python - Read Files
- Python - Renaming and Deleting Files
- Python - Directories
- Python - File Methods
- Python - OS File/Directory Methods
- Object Oriented Programming
- Python - OOPs Concepts
- Python - Object & Classes
- Python - Class Attributes
- Python - Class Methods
- Python - Static Methods
- Python - Constructors
- Python - Access Modifiers
- Python - Inheritance
- Python - Polymorphism
- Python - Method Overriding
- Python - Method Overloading
- Python - Dynamic Binding
- Python - Dynamic Typing
- Python - Abstraction
- Python - Encapsulation
- Python - Interfaces
- Python - Packages
- Python - Inner Classes
- Python - Anonymous Class and Objects
- Python - Singleton Class
- Python - Wrapper Classes
- Python - Enums
- Python - Reflection
- Python Errors & Exceptions
- Python - Syntax Errors
- Python - Exceptions
- Python - try-except Block
- Python - try-finally Block
- Python - Raising Exceptions
- Python - Exception Chaining
- Python - Nested try Block
- Python - User-defined Exception
- Python - Logging
- Python - Assertions
- Python - Built-in Exceptions
- Python Multithreading
- Python - Multithreading
- Python - Thread Life Cycle
- Python - Creating a Thread
- Python - Starting a Thread
- Python - Joining Threads
- Python - Naming Thread
- Python - Thread Scheduling
- Python - Thread Pools
- Python - Main Thread
- Python - Thread Priority
- Python - Daemon Threads
- Python - Synchronizing Threads
- Python Synchronization
- Python - Inter-thread Communication
- Python - Thread Deadlock
- Python - Interrupting a Thread
- Python Networking
- Python - Networking
- Python - Socket Programming
- Python - URL Processing
- Python - Generics
- Python Miscellenous
- Python - Date & Time
- Python - Maths
- Python - Iterators
- Python - Generators
- Python - Closures
- Python - Decorators
- Python - Recursion
- Python - Reg Expressions
- Python - PIP
- Python - Database Access
- Python - Weak References
- Python - Serialization
- Python - Templating
- Python - Output Formatting
- Python - Performance Measurement
- Python - Data Compression
- Python - CGI Programming
- Python - XML Processing
- Python - GUI Programming
- Python - Command-Line Arguments
- Python - Docstrings
- Python - JSON
- Python - Sending Email
- Python - Further Extensions
- Python - Tools/Utilities
- Python - GUIs
- Python Libraries & Frameworks
- Python - NumPy
- Python - Pandas
- Python - SciPy
- Python - Matplotlib
- Python - Django
- Python - OpenCV
- Python - Flask
- Python - Machine Learning
- Python - MySQL
- Python - MongoDB
- Selected Reading
- Q&A
Python - Operators
In Python, operators have different levels of precedence, which determine the order in which they are evaluated. When multiple operators are present in an expression, the ones with higher precedence are evaluated first. In the case of operators with the same precedence, their associativity comes into play, determining the order of evaluation.
Operator Precedence and Associativity in Python
Please see the following precedence and associativity table for reference. This table lists all operators from the highest precedence to the lowest precedence.
Precedence | Operators | Description | Associativity |
---|---|---|---|
1 |
() |
Parentheses |
Left to right |
2 |
x[index], x[index:index] |
Subscription, slicing |
Left to right |
3 |
await x |
Await expression |
N/A |
4 |
** |
Exponentiation |
Right to left |
5 |
+x, -x, ~x |
Positive, negative, bitwise NOT |
Right to left |
6 |
*, @, /, //, % |
Multiplication, matrix, division, floor division, remainder |
Left to right |
7 |
+, – |
Addition and subtraction |
Left to right |
8 |
<<, >> |
Shifts |
Left to right |
9 |
& |
Bitwise AND |
Left to right |
10 |
^ |
Bitwise XOR |
Left to right |
11 |
| |
Bitwise OR |
Left to right |
12 |
in, not in, is, is not, <, <=, >, >=, !=, == |
Comparisons, membership tests, identity tests |
Left to Right |
13 |
not x |
Boolean NOT |
Right to left |
14 |
and |
Boolean AND |
Left to right |
15 |
or |
Boolean OR |
Left to right |
16 |
if-else |
Conditional expression |
Right to left |
17 |
lambda |
Lambda expression |
N/A |
18 |
:= |
Assignment expression (walrus operator) |
Right to left |
Precedence of Python Operators
This is used in an expression with more than one operator with different precedence to determine which operation to perform first.
Example
10 + 20 * 30
10 + 20 * 30 is calculated as 10 + (20 * 30)
and not as (10 + 20) * 30
Python Code of the above Example
Python3
# Precedence of '+' & '*' expr = 10 + 20 * 30 print (expr) |
Output
610
Precedence of Logical Operators in Python
In the given code, the ‘if‘ block is executed even if the age is 0. Because the precedence of logical ‘and‘ is greater than the logical ‘or‘.
Python3
# Precedence of 'or' & 'and' name = "Alex" age = 0 if name = = "Alex" or name = = "John" and age > = 2 : print ( "Hello! Welcome." ) else : print ( "Good Bye!!" ) |
Output
Hello! Welcome.
Hence, To run the ‘else‘ block we can use parenthesis( ) as their precedence is highest among all the operators.