पाइथन मूल बातें: ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP)
OOP चीट शीट (अतिरिक्त)
Lesson 7 of 7 • 10 XP
Keep your place in this quest
Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.
🐍 Python OOP चीट शीट
Python Basics: Object-Oriented Programming क्वेस्ट में आपने जो कुछ भी सीखा है उसके लिए एक त्वरित संदर्भ।
1. क्लासेस और ऑब्जेक्ट्स
क्लास परिभाषित करना
class Person:
def __init__(self, name, age):
self.name = name # सार्वजनिक गुण
self.age = age # सार्वजनिक गुण
def greet(self):
print(f"Hello, my name is {self.name} and I am {self.age} years old.")
ऑब्जेक्ट बनाना
p1 = Person("John", 30)
p1.greet() # Hello, my name is John and I am 30 years old.
2. गुण (Attributes) और विधियाँ (Methods)
- Attributes = ऑब्जेक्ट के अंदर वाले वेरिएबल (
self.attribute) - Methods = ऑब्जेक्ट के अंदर वाली फंक्शन (
def method(self):)
पहुँचना:
print(p1.name) # गुण
p1.greet() # विधि
3. Inheritance
मूल Inheritance
class Animal:
def __init__(self, name):
self.name = name
def sound(self):
print("Some generic sound")
class Dog(Animal):
def sound(self):
print("Woof woof!")
dog = Dog("Rex")
dog.sound() # Woof woof!
4. super()
Parent के Constructor को कॉल करना
class Dog(Animal):
def __init__(self, name, breed):
super().__init__(name) # Animal का __init__ कॉल करें
self.breed = breed
5. Method Overriding
Child क्लास में Parent की विधियों को बदल सकते हैं:
class Cat(Animal):
def sound(self):
print("Meow!")
6. Private Attributes और Methods
__ से प्राइवेट मार्क करें
class Person:
def __init__(self, name, age):
self.name = name
self.__age = age # प्राइवेट गुण
def __print_age(self): # प्राइवेट विधि
print(self.__age)
def show_info(self):
print(self.name)
self.__print_age()
प्रत्यक्ष रूप से निजी सदस्यों तक पहुंचने पर त्रुटि होगी:
p = Person("Alice", 25)
p.__age # ❌ AttributeError
p._Person__age # ✅ काम करता है, लेकिन अनुशंसित नहीं
7. मुख्य OOP शब्दावली
| शब्द | अर्थ |
|---|---|
| Class | ऑब्जेक्ट्स के लिए ब्लूप्रिंट। |
| Object | किसी क्लास का एक इंस्टेंस, जिसमें अपना डेटा होता है। |
| Attribute | ऑब्जेक्ट के अंदर वेरिएबल। |
| Method | क्लास के अंदर फंक्शन। |
| Constructor | विशेष विधि __init__ जो ऑब्जेक्ट बनाने पर बुलती है। |
| Inheritance | किसी अन्य क्लास का कोड पुनः उपयोग करने की विधि। |
| Overriding | पेरेंट क्लास की विधि को फिर से परिभाषित करना। |
super() |
पेरेंट क्लास की विधियाँ कॉल करना। |
| Private | __ से शुरू होने वाला, आंतरिक उपयोग के लिए। |
8. त्वरित सर्वोत्तम अभ्यास
- क्लास नामों के लिए PascalCase का उपयोग करें:
MyClass - वर्तमान ऑब्जेक्ट के लिए
selfका उपयोग करें - विधियाँ एक ही कार्य पर केंद्रित रखें
- आंतरिक विवरण के लिए निजी सदस्यों का उपयोग करें
- यदि आप किसी चाइल्ड क्लास में
__init__ओवरराइड करें तोsuper().__init__()कॉल करें - संयोजन या विरासत (composition या inheritance) को समझदारी से चुनें — केवल विरासत के लिए विरासत न लें
📌 याद रखें: OOP मुख्यतः संज्ञाओं (things) और उनके व्यवहारों के बारे में सोचने का तरीका है। वास्तविक दुनिया की अवधारणाओं का मॉडल बनाएं, कोड को व्यवस्थित रखें, और जहां संभव हो पुन: उपयोग करें।