Skip to content

Latest commit

 

History

History

README.md

Learn Python - Revision notes

This collection of Jupyter notebooks provides my notes on Python refreshment of topics.

📚 Course Structure

This tutorial series is organized into four progressive modules:

1. Learn Python - 01 Basics

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

2. Learn Python - 02 Data Structures

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)

3. Learn Python - 03 Programming Foundation

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)

4. Learn Python - 04 Object Oriented Concepts

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

5. Learn Python - 05 NumPy

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

6. Learn Python - 06 Pandas

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

7. Learn Python - 07 Asyncio

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

8. Learn Python - 08 Flask API

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

🚀 Getting Started

Prerequisites

  • Python 3.x installed on your system
  • Jupyter Notebook or VS Code with Python extension

How to Use

  1. Clone or download this repository
  2. Open the notebooks in sequential order (01 → 08)
  3. Run the code cells to see outputs and experiment with modifications
  4. Each notebook contains practical examples with detailed comments

💡 Learning Approach

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

🎯 Who Is This For?

  • Beginners starting their Python journey
  • Developers refreshing their Python knowledge
  • Students learning programming fundamentals
  • Anyone preparing for Python interviews or projects

📝 Notes

  • 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

🤝 Contributing

Feel free to contribute by:

  • Reporting issues or bugs
  • Suggesting improvements or additional topics
  • Adding more examples or exercises

Happy Learning! 🐍✨