Unit 1: Python Basics
Syntax
- Keywords
- Indentation
- Comments
- Statements
- Multi-line Statements
Variables
- Variable declaration
- Variable assignment
- Naming Conventions
- Scope (Local, Global)
- Data Types (int, float, str, bool, None)
- Type conversion
- Type hints
- Constants
Operators
- Arithmetic (+, -, *, /, %, **, //)
- Comparison (==, !=, <, >, <=, >=)
- Logical (and, or, not)
- Assignment (=, +=, -=, =, /=, %=, //=, *=)
- Bitwise (&, |, ^, ~, <<, >>)
- Identity (is, is not)
- Membership (in, not in)
Control Structures
- Conditional (if, elif, else)
- Loops (for, while)
- Break/Continue/Pass
- Nested Loops
- Assertions
- Exception Handling (try, except, finally, raise)
Input/Output
- Input (input())
- Output (print())
- File I/O (open(), read(), write(), close())
- Context Managers (with statement)
- print()
Functions
- Function Definition (def)
- Function Parameters (Positional, Keyword, Default, Arbitrary)
- Return Values
- Lambda Functions
- Anonymous Functions
- Recursive Functions
Modules and Packages
- Importing Modules (import, from ... import ...)
- Module Attributes and Methods
- Creating Packages
- Installing Packages (pip)
- Virtual Environments (venv)
Unit 2: Python Functions and Libraries
Functions
- Scope (Local, Global, Nonlocal)
- Closures
- Decorators
- Generators
- Generator Expressions
- Higher-order Functions (map, filter, reduce)
Standard Libraries
- math
- random
- datetime
- os
- sys
- re (Regular Expressions)
- collections (Deque, Counter, DefaultDict)
- itertools
- functools
- functools.lru_cache
- functools.partial
External Libraries
- NumPy
- Pandas
- Matplotlib
- SciPy
- Scikit-learn
- TensorFlow/Keras
- PyTorch
- Flask
- Django
- Requests
- BeautifulSoup
- SQLAlchemy
- PyPDF2
- OpenCV
- NLTK
- Selenium
- Pygame
Unit 3: Data Structures in Python
Lists
- List Creation
- Indexing/Slicing
- Methods (append, extend, insert, remove, pop, sort, reverse)
- List Comprehensions
- List Iteration
- Accessing elements
- List operations (append, extend, insert, remove, pop, clear)
- List slicing
- List methods (sort, reverse, copy)
Tuples
- Tuple creation
- Accessing elements
- Tuple unpacking
- Immutable nature
- Tuple methods (count, index)
- Packing/Unpacking
Dictionaries
- Key-Value Pairs
- Dictionary creation
- Accessing elements
- Dictionary operations (update, get, keys, values, items)
- Dictionary methods (fromkeys, setdefault, popitem)
- Dictionary comprehension
- Nested dictionaries
- Accessing Values
- Methods (keys, values, items, get, update, pop)
- Dictionary Comprehensions
Sets
- Unordered & Unique Elements
- Operations (union, intersection, difference, symmetric_difference)
- Methods (add, remove, discard, clear)
- Frozen Sets
- Set creation
- Set operations (union, intersection, difference, symmetric_difference)
- Set methods (add, remove, discard, pop, clear)
- Set comprehension
Strings
- Concatenation
- Slicing
- Methods (split, join, replace, find, lower, upper)
- Formatting (F-Strings, format)
Other Collections
- Named Tuples
- Deques (from collections module)
Unit 4: Algorithms in Python
Problem-Solving Approaches
- Abstraction
- Decomposition
- Pattern Recognition
- Debugging
- Iteration
- Recursion
- Simulation
Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
Searching Algorithms
- Linear Search
- Binary Search
- Hashing
Graph Algorithms
- BFS (Breadth-First Search)
- DFS (Depth-First Search)
- Dijkstra’s Algorithm
- Kruskal’s Algorithm
- Prim’s Algorithm
- Floyd-Warshall
- Bellman-Ford
- A* (Pathfinding)
- Topological Sorting
- Graph traversal (BFS, DFS)
- Shortest path algorithms (Dijkstra, Bellman-Ford)
- Minimum spanning tree (Kruskal, Prim)
- Network flow (Ford-Fulkerson, Edmonds-Karp)
Dynamic Programming
- Memoization
- Tabulation
- Classic Problems (Knapsack, LCS, LIS)
- Bitmask DP
Algorithm Analysis
- Time complexity (Big-O, Omega, Theta)
- Space complexity
- Tradeoffs
- Scalability
- Optimization
Dynamic Programming
- Memoization
- Tabulation
- Classic Problems (Knapsack, LCS, LIS)
- Bitmask DP
String Algorithms
- Substring Search (KMP, Boyer-Moore, Rabin-Karp)
- Longest Common Subsequence (LCS)
- Edit Distance (Levenshtein Distance)
Algorithm Analysis
- Time Complexity (Big-O, Omega, Theta)
- Space Complexity
- Tradeoffs
- Scalability
- Optimization
Unit 5: Advanced Python and Integration
Advanced Concepts
- Classes
- Inheritance (Single, Multiple, Multilevel, Hierarchical)
- Polymorphism
- Encapsulation
- Abstraction
- Interfaces
- Abstract Base Classes (ABC)
- Properties
- Class Methods
- Static Methods
- Special (Magic) Methods
- Iterators
- Generators
- Decorators
- Context Managers
- Metaclasses
- Type Hints
Classes and Objects
- Class Definition
- Object Creation
- Attributes
- Methods
- Constructors (
__init__
) - Destructors (
__del__
) - Object Creation
- Attributes
- Methods
- Constructors (
__init__
) - Destructors (
__del__
)
Inheritance
- Single Inheritance
- Multiple Inheritance
- Method Overriding
- Polymorphism
Decorators
- Function Decorators
- Class Decorators
- Built-in Decorators (
@staticmethod
,@classmethod
,@property
)
Generators
- Yield Keyword
- Generator Expressions
- Iterators vs Generators
Context Managers
with
Statement- Custom Context Managers
Error Handling
- Exceptions (
try
,except
,finally
) - Custom Exceptions
Python Libraries
- NumPy (Array Manipulation, Linear Algebra)
- Pandas (Data Manipulation, Data Analysis)
- Matplotlib (Data Visualization)
- SciPy (Scientific Computing)
- Scikit-learn (Machine Learning)
- TensorFlow/Keras (Deep Learning)
- PyTorch (Deep Learning)
- Flask (Web Development)
- Django (Web Development)
- Requests (HTTP Requests)
- BeautifulSoup (Web Scraping)
- SQLAlchemy (Database Interaction)
- PyPDF2 (PDF Manipulation)
- OpenCV (Computer Vision)
- NLTK (Natural Language Processing)
- Selenium (Web Automation)
- Pygame (Game Development)
Data Analysis
- pandas (DataFrames, Series)
numpy
(Arrays, Matrices)scipy
(Scientific Computing)
Machine Learning
scikit-learn
(Classification, Regression, Clustering)tensorflow
(Deep Learning)keras
(High-Level API for Neural Networks)
Web Development
flask
(Microframework)django
(Full-Stack Framework)- APIs (
requests
,fastapi
)
Visualization
matplotlib
(Plots, Charts)seaborn
(Statistical Graphics)plotly
(Interactive Visualizations)
8. Miscellaneous Terms
File Handling
- Modes (
r
,w
,a
,rb
,wb
) - Reading/Writing Files
- File Paths
Modules and Packages
- Creating Modules
- Organizing Code into Packages
- Importing from Packages
Virtual Environments
venv
- Isolating Dependencies
Testing
- Unit Testing (
unittest
,pytest
) - Test-Driven Development (TDD)
Version Control
- Git Basics
- Branching/Merging
- Collaboration
Integration of Python with Excel
Automating Excel Tasks
- Reading/Writing Excel Files (
openpyxl
,xlsxwriter
,pandas
) - Manipulating Cells and Sheets
- Formatting Data
- Generating Reports
Excel Libraries
openpyxl
xlsxwriter
pandas
(Excel I/O)
Real-World Applications
- Data Cleaning
- Report Generation
- Automation Scripts
- Reading/Writing Excel Files (openpyxl, xlsxwriter, pandas)
- Manipulating Cells and Sheets
- Formatting Data
- Generating Reports
- Excel Libraries
- openpyxl
- xlsxwriter
- pandas.ExcelWriter
- pyxlsb (Binary Excel Files)
- xlrd (Reading Excel Files)
- xlwt (Writing Excel Files)
- xlutils (Manipulating Excel Files)
- win32com.client (COM Automation)
- pywin32 (Windows API Access)
Miscellaneous Terms
File Handling
- Modes (r, w, a, rb, wb)
- Reading/Writing Files
- File Paths
Modules and Packages
- Creating Modules
- Organizing Code into Packages
- Importing from Packages
Virtual Environments
- venv
- Isolating Dependencies
Testing
- Unit Testing (unittest, pytest)
- Test-Driven Development (TDD)
- Mocking
Version Control
- Git
- GitHub
- Branching/Merging
- Collaboration
Additional Key Concepts
Concepts
- Memory Management
- Garbage Collection
- Reference counting
- Smart pointers
- Mutable vs Immutable
- Shallow vs Deep Copy
Best Practices
- Code Readability
- Documentation
- Modular Design
- Optimization Techniques
- PEP-8
Debugging Tools
- pdb (Python Debugger)
- Logging (logging module)
- Profiling (cProfile)
- Breakpoints