हाँ, पायथन ऑब्जेक्ट-ओरिएंटेड (OOP) और प्रोसीजरल दोनों प्रोग्रामिंग पैराडाइम सपोर्ट करता है। यह एक मल्टी-पैराडाइम हाई-लेवल भाषा है।
पायथन में OOP विशेषताएं
- क्लासेस और ऑब्जेक्ट्स
- एनकैप्सुलेशन - डेटा और मेथड्स को एक साथ बांधना
- इनहेरिटेंस - मौजूदा क्लास से नई क्लास बनाना
- पॉलीमॉर्फिज्म - एक ही इंटरफेस, अलग व्यवहार
उदाहरण: OOP में आयत (Rectangle) क्लास
class Rectangle:
def __init__(self, length, breadth, unit_cost=0):
self.length = length
self.breadth = breadth
self.unit_cost = unit_cost
def get_perimeter(self):
return 2 * (self.length + self.breadth)
def get_area(self):
return self.length * self.breadth
def calculate_cost(self):
area = self.get_area()
return area * self.unit_cost
# उपयोग
r = Rectangle(160, 120, 2000) # लंबाई=160 सेमी, चौड़ाई=120 सेमी, 1 सेमी² = ₹2000
print(f"आयत का क्षेत्रफल: {r.get_area()} सेमी²")
print(f"खेत की लागत: ₹{r.calculate_cost()}")
आउटपुट
आयत का क्षेत्रफल: 19200 सेमी² खेत की लागत: ₹38400000
प्रोसीजरल प्रोग्रामिंग
पायथन में फंक्शन्स, लूप्स (for, while), कंट्रोल स्ट्रक्चर्स (if/else) का उपयोग करके प्रोसीजरल कोड लिखा जा सकता है।
# प्रोसीजरल शैली में फैक्टोरियल
def factorial_procedural(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
print(factorial_procedural(5)) # 120
फंक्शनल प्रोग्रामिंग तत्व
पायथन में map, filter, reduce, लिस्ट कॉम्प्रिहेंशन, लैम्ब्डा जैसे फंक्शनल फीचर्स भी हैं।
निष्कर्ष
पायथन आपको समस्या के अनुसार पैराडाइम चुनने की आजादी देता है: छोटे स्क्रिप्ट्स के लिए प्रोसीजरल, बड़े एप्लिकेशंस के लिए OOP, डेटा प्रोसेसिंग के लिए फंक्शनल।