Skip to content

ritesh-chauhan0x1/Python

Repository files navigation

Python Learning Course - Complete Guide

A comprehensive Python course from basics to mini projects, with 45 practical files organized by topic.

Course Overview

This repository contains a complete Python learning path with hands-on examples, practice problems, and detailed explanations. Each file builds upon previous concepts, progressing from basic syntax to advanced OOP principles, modules, exception handling, and real-world mini projects.

Total Files: 45 Python files + 1 summary file
Topics Covered: 10 major areas
Practice Problems: 300+ exercises


πŸ“‚ Project Structure

01_Basics

Fundamentals of Python programming - input/output, strings, conditionals, and lists

  • 1.py - Input & Comparison Operators
  • 2.py - Strings & String Methods
  • 3.py - Conditionals (if/elif/else)
  • 4.py - Lists & List Slicing
  • 5.py - List Operations & Methods

02_Data_Structures

Working with Python's built-in data structures - tuples, dictionaries, and sets

  • 6.py - Tuples & Tuple Methods
  • 7.py - Lists from User Input
  • 8.py - List & Tuple Practice
  • 9.py - Dictionaries & Dictionary Methods
  • 10.py - Sets & Set Operations

03_Conditionals_Loops

Control flow and iteration basics with while and for loops

  • 11.py - Advanced Set Operations
  • 12.py - Dictionary Operations
  • 13.py - While Loops
  • 14.py - Number Sequences
  • 15.py - Multiplication Tables

04_Advanced_Loops

Advanced iteration techniques, searching, and control statements

  • 16.py - Iterating Through Lists
  • 17.py - Searching in Tuples
  • 18.py - Break & Continue Statements
  • 19.py - Odd/Even Number Filtering
  • 20.py - For Loop Applications

05_Functions

Creating reusable code with functions and working with ranges

  • 21.py - Interactive Input & Search
  • 22.py - Range Function & Applications
  • 23.py - Factorial Calculations
  • 24.py - Pattern Printing
  • 25.py - Number Guessing Game

06_File_IO

Reading from and writing to files, recursion, and data processing

  • 26.py - Functions - Practical Applications
  • 27.py - Recursion
  • 28.py - File I/O - Reading & Writing
  • 29.py - File I/O - Advanced Operations
  • 30.py - File I/O - Processing CSV Data

07_OOP

Object-oriented programming concepts - classes, objects, inheritance, and polymorphism

  • 31.py - Classes & Objects (Student Class)
  • 32.py - Bank Account Class with Methods
  • 33.py - Operator Overloading (Polymorphism)
  • 34.py - Geometric Shapes (Circle Class)
  • 35.py - Inheritance & Advanced OOP Concepts

08_Modules_Packages

Working with Python's built-in modules and creating custom modules

  • 36.py - Math Module - Mathematical Functions & Constants
  • 37.py - Random Module - Random Numbers & Choices
  • 38.py - OS Module - Operating System Interface
  • 39.py - Custom Modules - Creating Reusable Code

09_Exception_Handling

Handling errors gracefully with try-except-finally blocks

  • 40.py - Try-Except Basics - Error Handling
  • 41.py - Else and Finally - Complete Structure
  • 42.py - Raising Exceptions - Custom Exceptions

10_Mini_Projects

Real-world CLI applications combining multiple concepts

  • 43.py - CLI Calculator - Complete Calculator App
  • 44.py - To-Do List Manager - Task Management System
  • 45.py - Student Records System - CRUD Application

πŸ“š Learning Path

Beginner Level (Files 1-10)

Start here if you're new to programming. Learn variables, data types, basic operations, and essential data structures.

Key Concepts:

  • Variables and data types
  • String manipulation
  • Lists, tuples, dictionaries, sets
  • Basic input/output

Intermediate Level (Files 11-20)

Build on basics with control flow and loops. Learn to make decisions and repeat actions efficiently.

Key Concepts:

  • Conditional statements
  • While and for loops
  • Break and continue
  • List iteration
  • Searching algorithms

Advanced Level (Files 21-30)

Master functions, recursion, and file handling. Write reusable code and work with external data.

Key Concepts:

  • Function definition and calls
  • Recursion
  • File I/O operations
  • CSV data processing
  • Range function

Expert Level (Files 31-35)

Learn object-oriented programming principles to write professional, scalable code.

Key Concepts:

  • Classes and objects
  • Constructors and methods
  • Inheritance
  • Polymorphism
  • Operator overloading

Professional Level (Files 36-42)

Master Python modules and error handling for production-ready code.

Key Concepts:

  • Built-in modules (math, random, os)
  • Custom module creation
  • Exception handling
  • Try-except-finally structure
  • Raising custom exceptions

Project Level (Files 43-45)

Build complete applications combining all learned concepts.

Key Concepts:

  • CLI application design
  • CRUD operations
  • File persistence (JSON)
  • User input validation
  • Error handling in real applications

🎯 Quick Topic Reference

Topic Files Description
Input/Output 1, 7, 21 User input, print statements
Strings 2 String methods, slicing, formatting
Conditionals 3 if, elif, else statements
Lists 4, 5, 7, 8, 16 List operations, methods, iteration
Tuples 6, 8, 17 Immutable sequences, tuple methods
Dictionaries 9, 12 Key-value pairs, dictionary methods
Sets 10, 11 Unique elements, set operations
While Loops 13, 14, 15 While loop syntax, applications
For Loops 16, 18, 19, 20, 22 For loop syntax, range function
Break/Continue 18 Loop control statements
Functions 26, 27 Function definition, parameters, return values
Recursion 27 Recursive functions, base cases
File I/O 28, 29, 30 Reading/writing files, CSV processing
OOP Basics 31, 32 Classes, objects, methods
OOP Advanced 33, 34, 35 Inheritance, polymorphism, operator overloading
Math Module 36 Mathematical functions, constants, calculations
Random Module 37 Random numbers, choices, shuffling
OS Module 38 File system, paths, environment variables
Custom Modules 39 Creating reusable code modules
Exception Handling 40, 41, 42 Try-except, finally, custom exceptions
Mini Projects 43, 44, 45 Complete CLI applications

πŸš€ Getting Started

Prerequisites

  • Python 3.x installed on your system
  • Text editor or IDE (VS Code, PyCharm, etc.)

How to Use This Course

  1. Sequential Learning: Start from file 1 and work your way through sequentially
  2. Practice Problems: Each file contains multiple practice exercises
  3. Hands-on Coding: Type out the code yourself - don't just read it
  4. Experiment: Modify the code and see what happens
  5. Summary Reference: Check summary.py for quick overview of all original code

Running the Files

# Navigate to the appropriate folder
cd 01_Basics

# Run a Python file
python 1.py

πŸ“– Additional Resources

Summary File

  • summary.py - Contains all original code from files 1-35 with explanatory comments

Mini Projects

Each mini project is a complete, working application:

  • Calculator - Full-featured CLI calculator with history
  • To-Do List - Task manager with priorities and persistence
  • Student Records - Complete CRUD system with grade calculation

Documentation

  • Clean, well-commented code in every file
  • Practice problems with varying difficulty levels
  • Concept summaries at the end of each file

πŸŽ“ Course Features

  • Progressive Learning: Each file builds on previous knowledge
  • Practical Examples: Real-world applications of concepts
  • 300+ Practice Problems: Reinforce learning with hands-on exercises
  • Detailed Comments: Every line explained for beginners
  • Concept Summaries: Key takeaways in each file
  • Bug-Free Code: All code tested and verified
  • Organized Structure: 10 topic-based folders for easy navigation
  • Mini Projects: 3 complete CLI applications
  • Error Handling: Professional exception handling throughout
  • Module Creation: Learn to write reusable code modules

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

This course material is free to use, modify, and distribute for educational and commercial purposes.


πŸ‘¨β€πŸ’» Author

Ritesh Chauhan


🌟 Contributing

Feel free to fork this repository and add your own examples or improvements!


πŸ“ž Support

If you have questions or suggestions, please open an issue in the repository.


Happy Learning! 🐍

About

A full Python Course

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages