Master Course Python Roadmap
Instagram
💡 Read the Carefully
This Roadmap has everything you required to master python from basic.
What you can expect from this Course after you enroll.
Most Important - 1 : 1 Doubt Session with me ( Suman )
All topics is covered in very detail with multiple real life examples.
All Python related project source code , Notes and resources
MCQs question after every chapter you complete
Assignment Coding Problem to write and submit it in portal.
You will be added to paid python community group where you can ask question.
Certificate after completion of the course
All new updates on this course will be free.
Lifetime Access
Introduction to Python
What is Python
Interpreter and Compiler
High Level And Low Level
What can python do?
History of python Versions
Key Differences Between Python 2 and 3
New Features in Recent Python Versions (3.7+)
Features Of Python
Setting Up Environment
Install Python in Windows
Install Python in Mac OS
Install Python in Linux
Run Python Code in Command Line
Run Python File in Command Line
Install Community PyCharm in Windows/MacOS
Master Course Python Roadmap 1
Create a project in PyCharm with Virtual Environment
Beginning Python Basics
The Print Statement
Indentations
Reserved Keywords
Import, From, as Keyword
Comments
Input Function
Constants in Python
Output Formatting
F-strings and Formatted String Literals
Rules Of Variables
Operators in Python
Bitwise Operations
x & y : Bitwise AND
x | y : Bitwise OR
x ^ y : Bitwise XOR
~x : Bitwise NOT
x << y : Left shift
x >> y : Right shift
Mathematical Operations
x + y : Addition
x - y : Subtraction
x * y : Multiplication
x / y : Division (returns a float)
x // y : Floor division
x % y : Modulus (remainder)
x : Negation
+x : Unary plus (rarely used, doesn't change x)
abs(x) : Absolute value
Best Practices and PEP 8
Code Layout
Naming Conventions
Comments and Docstrings
pylint and flake8 for Code Quality
Master Course Python Roadmap 2
Python Control Flow - Decision Making
If-else Statement
if elif Statement
Nested if Statement
Python Control Flow - Looping
For Loop
Range
Data-Type
While Loop
Boolean Condition
Nested for Loop
Python Control Flow - Branching
Break
Continue
Pass
Functions
User-defined functions
Built-in functions
Anonymous Functions (Lambda)
Understanding Function Arguments and Parameters
Understanding Scope and Lifetime of Variables
Recursive functions
Decorators
Understanding Decorators
Creating and Using Decorators
Function Decorators
Class Decorators
Decorator Syntax
@functools.wraps
Generators and iterators
Iterators
Generators
The Functions any and all
With Statement
Master Course Python Roadmap 3
Data Compression
Modules
Understanding Modules
Types of Modules
Importing Modules
Creating Modules
__init__.py and Package Structure
Relative vs Absolute Imports
Library
Python library
Creating Python Libraries
Data Type
Type of Data Type
Type Conversion
String
Integer
Float
Complex number
Boolean
List
Tuple
Dictionary
Frozen Set
String
Understanding Strings
Creating and Accessing Characters
String Slicing and Concatenation
String Formatting
String Methods
capitalize() : Converts the first character to upper case
count() : Returns the number of times a specified value occurs in a string
find() : Searches the string for a specified value and returns the position of where it was
found
format() : Formats specified values in a string
Master Course Python Roadmap 4
lower() : Converts a string into lower case
upper() : Converts a string into upper case
replace() : Replaces a specified phrase with another specified phrase
split() : Splits the string at the specified separator and returns a list
strip() : Returns a trimmed version of the string
len() : Returns the length of the string
startswith() : Returns true if the string starts with the specified value
endswith() : Returns true if the string ends with the specified value
join() : Joins the elements of an iterable to the end of the string
isnumeric() : Returns True if all characters in the string are numeric
isalpha() : Returns True if all characters in the string are in the alphabet
isalnum() : Returns True if all characters in the string are alphanumeric
isdecimal() : Returns True if all characters in the string are decimals
isdigit() : Returns True if all characters in the string are digits
isidentifier() : Returns True if the string is an identifier
islower() : Returns True if all characters in the string are lower case
isprintable() : Returns True if all characters in the string are printable
isspace() : Returns True if all characters in the string are whitespaces
istitle() : Returns True if the string follows the rules of a title
isupper() : Returns True if all characters in the string are upper case
ljust() : Returns a left-justified version of the string
rjust() : Returns a right-justified version of the string
swapcase() : Swaps cases, lower case becomes upper case and vice versa
title() : Converts the first character of each word to upper case
zfill() : Fills the string with a specified number of 0 values at the beginning
Regular Expressions
Escape Characters
Integer
Understanding Integers (Whole Number)
Performing Arithmetic Operations
Integer Division and Remainder
Integer Overflow
Integer Methods
bit_count() : Returns the number of ones in the binary representation of the integer
bit_length() : Returns the number of bits necessary to represent the integer in binary
Master Course Python Roadmap 5
conjugate() : Returns the complex conjugate of the number (for integers, this is just the
number itself)
to_bytes(length, byteorder, *, signed=False) : Returns an array of bytes representing the
integer
from_bytes(bytes, byteorder, *, signed=False) : Returns the integer represented by the given
array of bytes
as_integer_ratio() : Returns a pair of integers whose ratio is exactly equal to the original
integer (always returns (n, 1) for integers)
is_integer() : Returns True (this method exists for compatibility with float, always returns
True for integers)
numerator : Returns the numerator of the rational number (for integers, this is the number
itself)
denominator : Returns the denominator of the rational number (for integers, this is always
1)
real : Returns the real part of the number (for integers, this is the number itself)
imag : Returns the imaginary part of the number (for integers, this is always 0)
Integer Operations and Functions
abs(x) : Returns the absolute value of x
bin(x) : Returns the binary representation of x as a string
divmod(x, y) : Returns a tuple (x // y, x % y) (quotient and remainder)
float(x) : Converts x to a floating-point number
hex(x) : Returns the hexadecimal representation of x as a string
int(x[, base]) : Converts x to an integer (with an optional base)
max(x, y, ...) : Returns the largest of the given arguments
min(x, y, ...) : Returns the smallest of the given arguments
oct(x) : Returns the octal representation of x as a string
pow(x, y) : Returns x to the power of y
round(x[, n]) : Rounds x to the nearest integer or to n decimal places
sum(iterable) : Returns the sum of all items in an iterable
Float
Understanding Floating-Point Numbers (decimals)
Performing Arithmetic Operations with Floats
Rounding and Formatting Floats
Floating-Point Precision
Float Methods
as_integer_ratio() : Returns a pair of integers whose ratio is exactly equal to the float
Master Course Python Roadmap 6
conjugate(): Returns the complex conjugate of the number (for floats, this is just the
number itself)
hex() : Returns a string representation of the float in hexadecimal format
is_integer() : Returns True if the float is an integer value, False otherwise
fromhex(s) : Returns the float represented by a hexadecimal string s
imag : Returns the imaginary part of the number (for floats, this is always 0.0)
real : Returns the real part of the number (for floats, this is the number itself)
Complex Number
Understanding Complex Numbers (real and imaginary parts)
Creating and Accessing Complex Numbers
Performing Arithmetic Operations with Complex Numbers
Complex Methods
: Constructs a complex number. Takes real part and optional
complex(real, imag=0)
imaginary part (defaults to 0).
real(z) : Extracts the real part from a complex number z .
imag(z) : Extracts the imaginary part from a complex number z .
Boolean
Understanding Booleans (True or False)
Working with Boolean Values
Logical Operations (and, or, not)
Conditional Statements
Converting to Booleans
List
Understanding Lists
Creating and Accessing Elements
Modifying Lists (Adding, Removing, Slicing)
List Methods
append(x) : Adds an element x to the end of the list
clear() : Removes all elements from the list
copy() : Returns a shallow copy of the list
count(x) : Returns the number of elements with the specified value x
extend(iterable) : Adds all elements of an iterable to the end of the list
index(x) : Returns the index of the first element with the specified value x
insert(i, x) : Inserts an element x at the specified position i
Master Course Python Roadmap 7
: Removes and returns the element at the specified position i (last element if i is
pop([i])
not specified)
remove(x) : Removes the first item with the specified value x
reverse() : Reverses the order of the list
sort(key=None, reverse=False) : Sorts the list (in-place) based on the optional key function
and reverse flag
List Comprehensions
Tuple
Understanding Tuples
Creating and Accessing Elements
Immutability of Tuples
Use Cases for Tuples
Unpacking Tuples
Tuple Methods
count(x) : Returns the number of times x appears in the tuple
: Returns the index of the first occurrence of x in the tuple
index(x[, start[, end]])
(optionally starting from start and ending at end)
Dictionary
Understanding Dictionaries
Creating and Accessing Elements (Keys and Values)
Modifying Dictionaries (Adding, Removing, Updating)
Dictionary Methods
clear() : Removes all items from the dictionary
copy() : Returns a shallow copy of the dictionary
fromkeys(seq[, value]) : Creates a new dictionary with keys from seq and values set to
value
get(key[, default]) : Returns the value for key if key is in the dictionary, else default
items() : Returns a view object of the dictionary's (key, value) pairs
keys() : Returns a view object of the dictionary's keys
pop(key[, default]) : Removes the item with the specified key and returns its value
popitem() : Removes and returns the last inserted (key, value) pair
: Returns the value of the specified key. If the key doesn't exist:
setdefault(key[, default])
insert the key, with the specified value
update([other]) : Updates the dictionary with the specified key-value pairs
values() : Returns a view object of the dictionary's values
Looping Through Dictionaries (Keys, Values, Items)
Master Course Python Roadmap 8
Set
Understanding Sets
Creating and Adding Elements
Set Operations (Union, Intersection, Difference)
Removing Elements and Checking Membership
Set Methods
add(elem) : Adds an element to the set
clear() : Removes all elements from the set
copy() : Returns a shallow copy of the set
difference(*others) : Returns a new set with elements in the set that are not in the others
difference_update(*others) : Removes all elements of another set from this set
discard(elem) : Removes an element from the set if it is present
intersection(*others) : Returns a new set with elements common to the set and all others
intersection_update(*others) : Updates the set, keeping only elements found in it and all
others
isdisjoint(other) : Returns True if two sets have a null intersection
issubset(other) : Returns True if another set contains this set
issuperset(other) : Returns True if this set contains another set
pop() : Removes and returns an arbitrary element from the set
remove(elem) : Removes an element from the set; raises KeyError if not present
symmetric_difference(other) : Returns a new set with elements in either the set or other but
not both
symmetric_difference_update(other) : Updates the set, keeping only elements found in either
set, but not in both
union(*others) : Returns a new set with elements from the set and all others
update(*others) : Updates the set, adding elements from all others
Common Operations
len(s) : Returns the number of elements in set s
x in s : Tests x for membership in s
x not in s : Tests x for non-membership in s
s.issubset(t) or s <= t : Tests whether every element in s is in t
s.issuperset(t) or s >= t : Tests whether every element in t is in s
s.union(t) or s | t : New set with elements from both s and t
s.intersection(t) or s & t : New set with elements common to s and t
s.difference(t) or s - t : New set with elements in s but not in t
Master Course Python Roadmap 9
s.symmetric_difference(t) or s ^ t : New set with elements in either s or t but not both
Exceptions & Error Handling (Bullet Points)
Understanding Exceptions:
Understanding Error Handling:
Key Concepts:
try-except Block:
raise Statement:
Common Exception Types:
NameError : Undefined variable referenced.
TypeError : Incompatible data types in an operation.
ValueError : Inappropriate value passed to a function/operation.
ZeroDivisionError : Division by zero.
IndexError : Accessing element outside list/string index range.
Many more built-in exceptions for various error scenarios.
finally Block :
Executes regardless of exceptions (commonly for cleanup tasks).
OOPs Concept:
Understanding Classes and Objects:
Attributes and Methods:
Constructors ( __init__ method):
Object Instantiation:
Method Calls and self Argument
Advanced Concepts (Expand Your Knowledge):
Inheritance:
Single Inheritance
Multiple Inheritance
Method Resolution Order (MRO)
Polymorphism:
Method Overriding
Duck Typing
Operator Overloading:
Data Encapsulation:
Private and Protected Attributes
Master Course Python Roadmap 10
Property Decorators: @property , @setter , @deleter
Class Variables vs. Instance Variables:
Class methods:
Static methods:
Abstract Classes:
abc Module
@abstractmethod Decorator
File Handling and Exception Handling
Reading and Writing Files
Understanding Exceptions
Handling Exceptions
Raising Exceptions
Advance Python
Context Managers
Understanding Context Managers
The with Statement
Creating Custom Context Managers
The contextlib Module
__enter__ and __exit__ Methods
Concurrency
Multithreading
threading Module
Creating and Managing Threads
Thread Synchronization
Multiprocessing
multiprocessing Module
Process vs Thread
Pool of Workers
Asynchronous Programming
asyncio Module
Coroutines and async / await Syntax
Networking
Socket Programming
HTTP Requests with requests Library
Master Course Python Roadmap 11
Working with APIs
Database Interactions
SQLite with Python
Using SQL Databases (MySQL, PostgreSQL)
ORMs (SQLAlchemy)
Web Development
Introduction to Flask
Basic Route Handling
Templates and Jinja2
RESTful API Development
Testing
Unit Testing with unittest
Test Discovery
Mocking with unittest.mock
Introduction to pytest
Virtual Environments and Package Management
Creating Virtual Environments
venv Module
Using pip
Creating and Using requirements.txt
Type Hinting
Basic Type Annotations
Complex Types ( List , Dict , Tuple , etc.)
Optional and Union Types
mypy for Static Type Checking
Enhanced Exception Handling
Custom Exceptions
Exception Chaining
Context Managers for Exception Handling
Debugging with pdb
Advanced Python Concepts
Metaclasses
Descriptors
Coroutines
Master Course Python Roadmap 12
Generators and yield from
Data Science and Machine Learning Libraries
NumPy Basics
Pandas for Data Manipulation
Matplotlib for Data Visualization
Scikit-learn for Machine Learning
Master Course Python Roadmap 13