হ্যাঁ, পাইথন অবজেক্ট-অরিয়েন্টেড (OOP) এবং প্রোসিডিউরাল প্রোগ্রামিং উভয় প্যারাডাইম সমর্থন করে, কারণ এটি সাধারণ উদ্দেশ্যে ডিজাইন করা একটি হাই-লেভেল প্রোগ্রামিং ভাষা। পাইথন মাল্টি-প্যারাডাইম, অর্থাৎ আপনি প্রায়ই প্রোসিডিউরাল, অবজেক্ট-অরিয়েন্টেড বা ফাংশনাল শৈলিতে প্রোগ্রাম বা লাইব্রেরি লিখতে পারেন। পাইথনে ফাংশনাল ল্যাঙ্গুয়েজের কিছু বৈশিষ্ট্যভি রয়েছে।
পাইথনে OOP কনসেপ্ট যেমন ক্লাস, এনক্যাপসুলেশন, পলিমরফিজম, ইনহেরিটেন্স ইত্যাদি থাকায় এটি অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ভাষা হিসেবে কাজ করে।
উপযুক্তভাবে লুপ (for, while) এবং কন্ট্রোল স্ট্রাকচার ব্যবহার করে পাইথনে প্রোসিডিউরাল প্রোগ্রামও লিখা যায়।
উদাহরণ
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
# breadth = 120 cm, length = 160 cm, 1 cm^2 = Rs 2000
r = Rectangle(160, 120, 2000)
print("Area of Rectangle: %s cm^2" % (r.get_area()))
print("Cost of rectangular field: Rs. %s" % (r.calculate_cost()))
আউটপুট
Area of Rectangle: 19200 cm^2 Cost of rectangular field: Rs. 38400000