This collection of Jupyter notebooks provides my notes on Python refreshment of topics.
This tutorial series is organized into four progressive modules:
Get started with Python fundamentals including:
- Print statements and "Hello World"
- Python version checking
- Data types and type conversions
- Mathematical and assignment operators
- Comparison operators
- String manipulation and formatting
Master Python's core data structures:
- Lists: Creating, accessing, modifying, and manipulating lists
- Tuples: Immutable sequences and nested tuples
- Dictionaries: Key-value pairs and nested dictionaries
- Sets: Unique collections and set operations (union, intersection, difference)
Build programming logic with:
- Conditional operators and comparison statements
- Control flow (if, elif, else)
- Logical operations (and, or, not)
- Loops (for, while, nested loops)
- Functions with parameters and default values
- Exception handling (try-except-finally)
Dive into object-oriented programming:
- Classes and Objects: Creating and using classes
- Constructors: Initializing objects
- Inheritance: Single, multiple, multilevel, hybrid, and hierarchical
- Polymorphism: Method overloading, overriding, duck typing, operator overloading
- Encapsulation: Private variables and public methods
- Data Abstraction: Abstract base classes and methods
Master numerical computing with NumPy:
- Basic Arrays: Creating and accessing arrays
- Array Attributes: Understanding shape, dtype, ndim, and size
- Array Creation: zeros, ones, arange, linspace, random arrays
- Sorting and Arrangement: Sorting arrays and concatenation
- Array Reshaping: Changing array dimensions
- Array Arithmetic: Element-wise operations and dot products
- Mathematical Functions: Trigonometric and statistical functions
Work with data structures and analysis using Pandas:
- DataFrames: Creating and manipulating data frames
- Data Selection: Accessing rows and columns
- Data Exploration: head(), tail(), describe() methods
- Finding Elements: Filtering and locating specific data
- Data I/O: Saving and loading data in CSV format
- Multiple Formats: Working with Excel, JSON, HTML, and SQL data sources
Master asynchronous programming with asyncio:
- What is Asyncio: Understanding asynchronous I/O and concurrent code
- Basic asyncio example: Writing simple async/await functions
- Fetching Data with async/await: Non-blocking operations and data retrieval
- Event Loop Timing: Understanding event loop execution and timing
Build simple web APIs with Flask:
- Basic Flask endpoint: Creating routes and returning JSON responses
- Query parameters: Reading values from the request URL
- GET and POST examples: Handling query strings and JSON payloads
- Runnable examples: Launchable snippets demonstrating endpoints
- Python 3.x installed on your system
- Jupyter Notebook or VS Code with Python extension
- Clone or download this repository
- Open the notebooks in sequential order (01 → 08)
- Run the code cells to see outputs and experiment with modifications
- Each notebook contains practical examples with detailed comments
Each notebook follows a hands-on approach:
- Clear explanations with inline comments
- Practical examples demonstrating concepts
- Executable code you can run and modify
- Progressive complexity building on previous lessons
- Beginners starting their Python journey
- Developers refreshing their Python knowledge
- Students learning programming fundamentals
- Anyone preparing for Python interviews or projects
- All code examples are tested and include output demonstrations
- Feel free to modify and experiment with the code
- Each notebook has a Table of Contents for easy navigation
Feel free to contribute by:
- Reporting issues or bugs
- Suggesting improvements or additional topics
- Adding more examples or exercises
Happy Learning! 🐍✨