My daily Python learning projects. Every day new topics learnt.
- 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 exercies
- 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
- 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,selfkeyword - Inheritance, Polymorphism & Method Overriding
- Dunder Methods —
__str__,__repr__,__lt__
- Decorators,
functools.wraps, Decorator Factory pattern - Generators & Iterators,
yieldkeyword - Context Managers —
__enter__/__exit__ - Type Hints, mypy, pytest
loggingmodule —basicConfig,logging.infocollections—Counter,defaultdict,dequedatetime—strptime,strftime,timedelta
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(),subplotsbar,barh,reverse,style,xticks,tight_layouthist,axvline,use,linewidth,colorscatter,s,c,edgecolor,marker,alpha,cmap,colorbar,set_label,xscale,yscale
set_theme,load_dataset,relplot,displot,multiple,hue,kde,dataheatmap,annot,cbar_kws