A practical, exercise-first path from Python fundamentals to object-oriented programming. This repository keeps examples, exercises, mistakes, experiments, and notes visible as part of the learning history.
| Stage | Focus |
|---|---|
| 01-Python-Basics | Variables, numbers, strings, input, and output |
| 02-Control-Flow | Conditions, decisions, and repetition |
| 03-Data-Structures | Lists, tuples, sets, and dictionaries |
| 04-Functions | Reusable logic, parameters, composition, and design |
| 08-OOP | Classes, objects, methods, and encapsulation |
| 00-Learning-Notes | Personal reference notes |
| 13-Projects | Practical applications and experiments |
Future sections can be added when the relevant work exists: modules and packages, file handling, exceptions, advanced Python, testing, development tools, and algorithms.
- Read the topic's
concepts.md. - Open the existing
.pyexamples and predict their behavior. - Run one small example at a time.
- Use
practice.mdfor a challenge, hint, and external problem source. - Explain the solution in your own words before moving on.
understand -> predict -> code -> run -> inspect -> test -> explain -> repeat
For every problem, identify the input, output, rules, changing state, and edge cases. Test boundary values, not only normal examples.
- Python Tutorial: official language guide.
- Python Standard Library: reference documentation.
- Exercism Python Track: incremental, mentored exercises.
- HackerRank Python: short challenges.
- Codewars Python Kata: difficulty-based practice.
- Project Euler: mathematical problem solving.
Solve locally first, then compare approaches. Do not copy a solution before you can explain it.