Day 18 of my Python Full Stack journey. ✅ Today's topic: Inheritance — one of the most powerful concepts in OOP. Instead of writing the same code twice — you inherit it from a parent class. Here's what I typed today: # Parent class class Person: def __init__(self, name, age): self.name = name self.age = age def introduce(self): return f"Hi, I'm {self.name}, {self.age} years old." # Child class — inherits from Person class Student(Person): def __init__(self, name, age, course): super().__init__(name, age) # inherits parent __init__ self.course = course # Method overriding — redefining parent method def introduce(self): return f"Hi, I'm {self.name}. I study {self.course}." s1 = Student("Punith", 24, "Python Full Stack") print(s1.introduce()) # Hi, I'm Punith. I study Python Full Stack. 3 things that clicked today: → super() calls the parent class — no need to rewrite __init__ → Child class can override any parent method → Child class can also add brand new methods of its own Why this matters for Django: → Django's Model class is a parent class → When you write 'class Student(models.Model)' — you are inheriting from Django's Model → That one line gives your class database superpowers #PythonFullStack #Day18 #Inheritance #OOP #BuildingInPublic #100DaysOfCode #Bangalore
Python OOP Inheritance Basics
More Relevant Posts
-
Day 14 of my Python Full Stack journey. ✅ Today's topic: File Handling — making data survive after the program closes. This is where Python stops feeling like exercises and starts feeling like real software. Here's what I typed today: # Writing to a file with open("students.txt", "w") as file: file.write("Punith: 88\n") file.write("Rahul: 92\n") # Reading from a file with open("students.txt", "r") as file: content = file.read() print(content) # Appending to a file with open("students.txt", "a") as file: file.write("Priya: 76\n") Biggest lesson today: Always use 'with open()' instead of just open(). It automatically closes the file even if an error occurs. One line saves you from a lot of headaches. ✅ Why this matters for Django: → Django reads config files on startup → Log files track every request your app receives → Media uploads are files stored on your server Understanding file I/O now makes all of that make sense later. Two weeks done. Still showing up every single day. 💪 #PythonFullStack #Day14 #BuildingInPublic #100DaysOfCode #Bangalore
To view or add a comment, sign in
-
-
Day 20 of my Python Full Stack journey. ✅ Today I did something most learners skip. Revision. Before jumping into — Advanced Python + Django — I went back and revised everything from first 4 weeks. Here's what I revised today: → Variables, Data Types, f-strings → Conditionals — if, elif, else → Loops — for, while, range() → Functions — *args, **kwargs, default arguments → Lists, Dictionaries, Tuples, Sets → Nested Data Structures → File Handling — read, write, append → OOP — Classes, Methods, Inheritance Why revision matters: Moving fast feels productive. But building on a shaky foundation always breaks later. Today I made sure my foundation is solid. So when Django hits — nothing feels alien. One thing that surprised me during revision: How much more sense OOP makes now compared to Day 16. Same concept. Completely different level of understanding. That's what consistency does. 💪 Day 21 tomorrow — Month 2 officially begins. List comprehensions, Lambda, Map, Filter. Advanced Python starts now. 🚀 What's the one Python concept you wish you had revised before moving to Django? #PythonFullStack #Day21 #Revision #BuildingInPublic #100DaysOfCode #Bangalore
To view or add a comment, sign in
-
-
Day 16 of my Python Full Stack journey. ✅ Today's topic: OOP — Object Oriented Programming. The biggest concept in Python so far. And the most important one for Django. Here's what clicked today: Everything in Python is an object. A class is just a blueprint for creating objects. Here's what I typed today: # Class = blueprint class Student: def __init__(self, name, marks): self.name = name self.marks = marks def result(self): if self.marks >= 50: return f"{self.name} — Pass ✅" return f"{self.name} — Fail ❌" # Object = actual instance built from blueprint s1 = Student("Punith", 88) s2 = Student("Rahul", 42) print(s1.result()) # Punith — Pass ✅ print(s2.result()) # Rahul — Fail ❌ Why this matters for Django: → Every Django Model is a class → Every Django View can be a class → Every Django Form is a class If you don't understand OOP — Django will feel like magic. If you do — Django will feel like logic. Today Django finally started making sense. 🤯 What concept made Django finally click for you? #PythonFullStack #Day16 #OOP #BuildingInPublic #100DaysOfCode #Bangalore
To view or add a comment, sign in
-
-
Day 12 of my Python Full Stack journey. ✅ Today's topic: Functions Deep Dive — the parts most beginners skip. *args and **kwargs. Looked confusing at first. Made complete sense after 45 minutes. Here's what I typed today: # Default arguments def greet(name, role="Developer"): print(f"Hey {name}, future {role}!") # *args — multiple positional arguments def add_all(*numbers): return sum(numbers) print(add_all(1, 2, 3, 4)) # 10 # **kwargs — multiple keyword arguments def show_info(**details): for key, value in details.items(): print(f"{key}: {value}") show_info(name="Punith", city="Bangalore", stack="Python") Why this matters for Django: → Django views use *args and **kwargs everywhere → Every class based view passes **kwargs automatically → Understanding this now saves hours of confusion later Pushed to GitHub immediately. Lesson learned. ✅ #PythonFullStack #Day12 #BuildingInPublic #100DaysOfCode #Bangalore
To view or add a comment, sign in
-
-
𝗧𝗵𝗶𝘀 𝗜𝘀 𝗗𝗮𝘆 𝟲𝟯 𝗼𝗳 #𝟭𝟬𝟬𝗗𝗮𝘆𝘀𝗢𝗳𝗖𝗼𝗱𝗲 I continued my Python refresher and introduced Django. Yesterday, I covered Python basics. Today, I dove into functions and object-oriented programming \(OOP\) because these are essential for understanding Django. You define a function in Python using the def keyword. For example: - def greet\(name\): return f"Hello, \{name\}!" - print\(greet\("Haris"\)\) # Hello, Haris! Functions have powerful features: - You can assign default values to parameters - Use \*args to collect extra positional arguments into a tuple - Use \*\*kwargs to collect extra keyword arguments into a dictionary You can use these together. The order matters: regular args, \*args, \*\*kwargs. Python is fully object-oriented. You define classes and use \_\_init\_\_ as the constructor. - class Person: - def \_\_init\_\_\(self, name, age\): self.name = name, self.age = age - def introduce\(self\): return f"Hi, I'm \{self.name\} and I'm \{self.age\} years old." I also looked at how Django structures projects. A project is the entire web application, and you organize functionality into smaller units called apps. - Each app handles one specific part of your project - You create an app using python manage.py startapp posts This keeps your code modular and clean. Source: https://lnkd.in/g4YgFWMu
To view or add a comment, sign in
-
Day 17 of my Python Full Stack journey. ✅ Today's topic: The 3 types of methods in OOP. Most beginners only know one. Here's all three explained simply. Here's what I typed today: class Student: school = "Acharya Institute" # class variable def __init__(self, name, marks): self.name = name # instance variable self.marks = marks # Instance method — works with one object def result(self): return f"{self.name}: {'Pass' if self.marks >= 50 else 'Fail'}" # Class method — works with the class itself @classmethod def school_name(cls): return f"School: {cls.school}" # Static method — independent, no self or cls @staticmethod def passing_marks(): return "Passing marks: 50" s1 = Student("Punith", 88) print(s1.result()) # instance method print(Student.school_name()) # class method print(Student.passing_marks()) # static method Simple rule: → Instance method — needs object data (use self) → Class method — needs class data (use cls) → Static method — needs neither. Just a helper function. Did you know all 3 types of methods before reading this? #PythonFullStack #Day17 #OOP #BuildingInPublic #100DaysOfCode #Bangalore
To view or add a comment, sign in
-
-
5 books. 6 database trips. That's your Django app bleeding performance. Most of the time we never notice the N+1 problem — until their app slows down under real data. Here's the fix explained as a story (swipe through) 👇 𝗦𝗹𝗶𝗱𝗲 𝟭 — You have 5 books. Each has an author. Simple. 𝗦𝗹𝗶𝗱𝗲 𝟮 — Without optimization: Django makes 6 separate DB trips. One per book. Painful. 𝗦𝗹𝗶𝗱𝗲 𝟯 — select_related() fixes it with a single JOIN. 1 trip. Everything together. 𝗦𝗹𝗶𝗱𝗲 𝟰 — But JOIN breaks with tags — Book 1 repeats 3 times. Messy. 𝗦𝗹𝗶𝗱𝗲 𝟱 — prefetch_related() makes 2 smart trips. Python glues them in memory. 𝗦𝗹𝗶𝗱𝗲 𝟲 — The rule: ONE thing → select_related. MANY things → prefetch_related. That's it. Two methods. One simple rule. #Django #Python #WebDevelopment #BackendDevelopment #SoftwareEngineering
To view or add a comment, sign in
-
Every time you write obj.attribute in Python, something runs that most developers have never heard of. Day 05 of 30 -- Descriptors and Properties Advanced Python + Real Projects Series When Django marks a field dirty on assignment, when SQLAlchemy tracks changes for save(), when Pydantic validates on every write -- they all use the same mechanism. The descriptor protocol. A descriptor is any object defining get, set, or delete. When it sits as a class attribute, Python routes all attribute access through it -- before the instance dict is even touched. Today's Topic covers: Why descriptors exist and what problem @property alone cannot solve The full descriptor protocol -- get, set, delete, set_name Data vs non-data descriptors and why the difference controls lookup priority The 3-level attribute lookup chain Python follows on every access Annotated syntax -- from @property to a fully reusable Validated field Real e-commerce scenario -- auto type check, range validation, and audit logging on every field write across 30 model classes with 3 lines of code How Django, SQLAlchemy, Pydantic, and dataclasses all use this internally 4 mistakes including the infinite recursion trap that kills production apps Key insight: When you write user.email in Django, that single line triggers a descriptor that queues the change for save(). No magic. Just the descriptor protocol. #Python #PythonProgramming #Django #SQLAlchemy #SoftwareEngineering #BackendDevelopment #100DaysOfCode #LearnPython #PythonDeveloper #TechContent #DataEngineering #BuildInPublic #TechIndia #CleanCode #LinkedInCreator #PythonTutorial
To view or add a comment, sign in
-
few months ago, I didn't know what a variable was. Today, I just understood OOP — Object Oriented Programming in Python. And honestly? It felt impossible at first. Classes... Objects... Methods... I stared at the screen thinking "this is not for me." But I kept showing up. Every Single Day. And then suddenly — it clicked. That moment when confusing code finally makes sense? There's no feeling like it in the world. Here's what I want to tell every beginner out there: 🔑 You don't need to be smart. 🔑 You don't need a CS degree. 🔑 You just need to refuse to quit. I'm a student. I'm a beginner. I have no experience. But I'm showing up daily and that's enough for now. 🚀 My journey so far HTML & CSS Python Basics OOP in Python Next: Django & JavaScript The goal? My first tech job. And I'm not stopping until I get there. If you're also starting from zero — this post is for you. Let's go together. 🤝 #Python #OOP #LearningToCode #NeverGiveUp #CodingJourney #100DaysOfCode #BeginnersWelcome #LearnInPublic
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development