My daily Python learning projects.
- Day 1: Rock Paper Scissors game
- Day 2: Word Analyzer
- Day 3: Grocery List Manager
- Day 4: Tuples & Sets
- Day 5: Contact Book
- Day 6: Grade Calculator
- Day 7: FizzBuzz
- Day 8: 20 Small functions
- Day 9: Multi-Function Calculator
- Day 10: List Comprehensions exercises
- Day 11: File Handling & Log Writer & Student Database System using CSV & Pandas
- Day 12: Error Handling — try/except/finally + hardened Student Database
- Day 13: Error Handling — Grade Manager with full error handling, repair_file() & logging
- Day 14: Modules, Packages & pathlib — Grade Manager refactored into a package with pathlib
- Day 15: Library Management System with OOP — classes, init, self, JSON persistence
- Day 16: Library Management System extended — search_by_author(), list_available(), export_to_csv(), CSV re-import
- Day 17: Library Management System with OOP — inheritance & polymorphism, EBook & AudioBook subclasses, display_clean_data()
- Day 18: Library Management System with OOP — dunder methods (str, repr, lt), display_sorted() using object comparison
- Day 19: Decorators — @timer, @retry(n) decorator factory, @log_calls with logging module
- Day 20: Generators & Iterators — yield, lazy evaluation, generator pipelines
- Day 21: collections, datetime & type hints — Counter, defaultdict, deque, strptime, full type hints, log analyzer
- Day 22: NumPy — arrays, shapes, reshape, flatten, transpose, broadcasting, indexing, slicing
- Day 23: Weather Analyzer CLI — NumPy operations (argmax, argmin, np.where, mean), zone classification, timer context manager + logging
- Day 24: Pandas — indexing & filtering basics
- Day 25: CLI Data Explorer — Pandas filtering conditions
- Day 26: CSV File Data Cleaner
- Day 27: Two Panel Figure using matplotlib
- Day 28: 4 week revision
- Day 29: Test Analyser using pytest
- Day 30: Type hints — advanced + mypy
- Day 31: Mini EDA Project — Titanic
- Day 32: YAML & Bash Scripting — PyYAML, yaml.safe_load(), chmod, grep, pipes & bash automation
- Day 33: Environment Setup & Logging — venv, python-dotenv, os.getenv() & replacing print() with logging
- Day 34: Git Branching Workflow — Feature branches, merging, merge conflicts,
git diff,git stash,git revert&git log --oneline --graph - Day 35: Week 5 Review & LeetCode — Solved Valid Anagram (LeetCode #242) and Top K Frequent Elements (LeetCode #347) + GitHub Portfolio Setup
- Day 36: Mini Project.
- Variables & Data Types
- Strings & Methods
- Lists, Tuples, Sets, Dictionaries
- If/elif/else, For & While Loops
- Functions, *args & **kwargs
- List Comprehensions
- Lambda (map, filter, reduce)
- Closures
- File Handling (Read, Write, Append)
- CSV File Handling
- pathlib
- JSON config loading
- Exception Handling — try/except/finally, ValueError, FileNotFoundError
- Modules & Packages
- Classes & Objects, init, instance attributes, self keyword
- Inheritance, Polymorphism & Method Overriding
- Dunder Methods — str, repr, lt
- Decorators, functools.wraps, Decorator Factory pattern
- Generators & Iterators, yield keyword
- Context Managers — enter/exit
- Type Hints, mypy, pytest
- logging module — replacing print() with structured logs
- collections — Counter, defaultdict, deque
- datetime — strptime, strftime, timedelta
- YAML: PyYAML, yaml.safe_load(), yaml.dump()
- Bash Scripting: chmod +x, mkdir -p, grep, pipes (|), shell scripts
- Virtual Environments: python -m venv, environment activation
- Environment Variables: python-dotenv, load_dotenv(), os.getenv()
- Git & Version Control: Feature branches, merging (
main→feature→merge→delete),git log --oneline --graph,git diff,git stash,git revert
- ndarray, shape, dtype, reshape, flatten, transpose
- Array math & broadcasting
- Boolean indexing & filtering
- np.random, np.where, np.argmax, np.argmin, np.mean
- read_csv, .head(), .info(), .describe(), .shape, .dtypes
- Indexing — .loc[] & .iloc[]
- Boolean filtering & multi-conditions (&, |)
- .value_counts(), .unique(), .nunique()
- .sort_values(), groupby, dropna, idxmax, idxmin
- .groupby().agg(), .pivot_table(), .fillna(), .dropna(), .duplicated(), .drop_duplicates()
- show, title, grid, legend, plot, xlabel, ylabel, savefig(), subplots
- bar, barh, reverse, style, xticks, tight_layout
- hist, axvline, use, linewidth, color
- scatter, s, c, edgecolor, marker, alpha, cmap, colorbar, set_label, xscale, yscale
- set_theme, load_dataset, relplot, displot, multiple, hue, kde, data
- heatmap, annot, cbar_kws