Skip to content

Latest commit

Β 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Python For Everyone - Learn From Scratch 🐍

A complete, beginner-friendly Python course built in public by @sajankoira. Learn Python from absolute zero - no prior programming knowledge needed! Works on Android, Laptop, any device.

Live Repo: https://github.com/sajankoira/python-for-everyone

This repo is both my learning journal and your free textbook. Every lesson, example, exercise, and project is committed here. 100% Complete - No Pendings!

🌟 Why this repo?

  • Zero to Hero: Starts from "What is Python?" to building real projects
  • Android Friendly: Includes ALL_IN_ONE_MOBILE.html and MOBILE_SETUP.md - learn from phone!
  • Learn by Doing: Every concept has runnable code + exercises
  • Open for All: Anyone can fork, learn, and contribute
  • Well Documented: Simple English, lots of comments, real-world examples
  • Full Curriculum: 27 code files + 9 projects + 100 exercises

πŸ“š Full Curriculum (All Added βœ…)

Phase 1: The Basics βœ…

  • 01-basics/01_hello_world.py - First program
  • 01-basics/02_variables_and_datatypes.py - Store data, f-strings
  • 01-basics/03_input_output.py - input(), type casting
  • 01-basics/04_operators.py - Arithmetic, logical, membership
  • 01-basics/05_comments_and_pep8.py - Clean code

Phase 2: Control Flow βœ…

  • 02-control-flow/01_if_else.py - Decisions, truthy/falsy
  • 02-control-flow/02_loops.py - for, while, break/continue
  • 02-control-flow/03_patterns_and_logic.py - Patterns (triangles, pyramid, diamond), Armstrong, Prime

Phase 3: Data Structures βœ…

  • 03-data-structures/01_strings.py - Slicing, methods, reverse
  • 03-data-structures/02_lists_tuples.py - List methods, comprehension, copying
  • 03-data-structures/03_dict_set.py - Dict methods, set operations
  • 03-data-structures/04_projects.py - Word freq, inventory, anagram, second largest

Phase 4: Functions βœ…

  • 04-functions/01_functions.py - Functions, args, return
  • 04-functions/02_lambda_and_hof.py - lambda, map, filter, recursion
  • 04-functions/03_modules_and_packages.py - Built-in modules, custom modules, pip, venv, name=="main"
  • 04-functions/04_decorators_generators.py - Generators, decorators, timers, iterators

Phase 5: OOP βœ…

  • 05-oop/01_classes_objects.py - Class, object, init
  • 05-oop/02_inheritance.py - Inheritance types, super(), polymorphism
  • 05-oop/03_advanced_oop.py - Magic methods str, len, add, composition, abstract classes, @property

Phase 6: File Handling βœ…

  • 06-file-handling/01_files.py - read/write/append, with statement
  • 06-file-handling/02_exception_handling_advanced.py - try/except/else/finally, custom exceptions, context managers
  • 06-file-handling/03_json_csv.py - JSON load/dump, CSV reader/writer

Phase 7: Projects (9 Projects) βœ…

  1. 07-projects/calculator.py - CLI calculator with functions
  2. 07-projects/todo_app.py - To-Do with JSON + OOP
  3. 07-projects/03_number_guessing.py - Random + loops
  4. 07-projects/04_contact_book.py - Contact book JSON
  5. 07-projects/05_password_generator.py - Random + string + strength check
  6. 07-projects/06_quiz_app.py - Quiz with shuffle + scoring
  7. 07-projects/07_expense_tracker.py - CSV + defaultdict + analysis
  8. 07-projects/08_weather_api.py - API with requests + mock fallback
  9. 07-projects/09_rock_paper_scissors.py - Games + dice roller

Phase 8: Advanced (Bonus for Interviews) βœ…

  • 08-advanced/01_iterators.py - Comprehensions, generator memory
  • 08-advanced/02_testing_and_debugging.py - logging, assert, unittest

Extras

  • exercises/100_python_exercises.md - 100 questions from easy to projects
  • cheatsheet.md - Complete 1-page revision
  • ALL_IN_ONE_MOBILE.html - Read all lessons on Android without IDE
  • MOBILE_SETUP.md - Learn Python on Android guide
  • LEARNING_GUIDE.md, GITHUB_SETUP.md, MY_PLAN.md, PROGRESS.md

πŸš€ How to Use

On Laptop

git clone https://github.com/sajankoira/python-for-everyone.git
cd python-for-everyone
python --version  # need 3.8+
python 01-basics/01_hello_world.py

On Android (No Laptop!)

  1. Install Pydroid 3 app from Play Store
  2. Open any .py file content from this repo on GitHub website
  3. Copy-paste to Pydroid 3 and Run!
  4. Or open ALL_IN_ONE_MOBILE.html in Chrome to read all lessons

Learning Path (1 hr/day)

  • 20 min read + run code
  • 20 min do exercises inside file
  • 10 min update PROGRESS.md + git commit
  • 10 min revise cheatsheet.md

See MY_PLAN.md for 30-day detailed plan.


🎯 Progress

Check PROGRESS.md - I update daily after learning!

🀝 Contribute

Fork -> Branch -> Add better example -> PR See CONTRIBUTING.md

πŸ“œ License MIT

Free for everyone!

By: @sajankoira - Learning in public, building in public.

About

🐍 Learn Python from Scratch - 34 lessons, 9 projects, 100 exercises. Android friendly, beginner friendly. Complete course in one repo!

Topics

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages