কম্পিউটার টিউটোরিয়াল

পাইথন ООপিতে repr() ফাংশন কী করে?


অফিসিয়াল পাইথন ডকুমেন্টেশন বলে __repr__() একটি অবজেক্টের "অফিসিয়াল" স্ট্রিং রিপ্রেজেন্টেশন কালকুলেট করতে ব্যবহৃত হয়। repr() বিল্ট-ইন ফাংশন __repr__() ব্যবহার করে অবজেক্ট ডিসপ্লে করে। __repr__() অবজেক্টের একটি প্রিন্টযোগ্য রিপ্রেজেন্টেশন রিটার্ন করে, এই অবজেক্ট তৈরি করার সম্ভাব্য উপায়গুলোর একটি। __repr__() ডেভেলপারদের জন্য বেশি উপযোগী যখন __str__() এন্ড ইউজারদের জন্য।

উদাহরণ

নিচের কোডটি দেখাচ্ছে __repr__() কীভাবে ব্যবহার করা হয়।

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y
    def __repr__(self):
        return 'Point(x=%s, y=%s)' % (self.x, self.y)
p = Point(3, 4)
print p

আউটপুট

এটি আউটপুট দেবে

Point(x=3, y=4)

আরেকটি উদাহরণ বিবেচনা করি repr() ফাংশন ব্যবহার করে এবং একটি datetime অবজেক্ট তৈরি করি -

>>> import datetime
>>> today = datetime.datetime.now()

যখন আমি বিল্ট-ইন ফাংশন repr() ব্যবহার করে today ডিসপ্লে করি -

>>> repr(today)
'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'

দেখা যাচ্ছে এটি একটি স্ট্রিং রিটার্ন করল কিন্তু এই স্ট্রিংটি datetime অবজেক্টের "অফিসিয়াল" রিপ্রেজেন্টেশন যার মানে এই "অফিসিয়াল" স্ট্রিং রিপ্রেজেন্টেশন ব্যবহার করে আমরা অবজেক্টটি রিকনস্ট্রাক্ট করতে পারি -

>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)')
datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)

eval() বিল্ট-ইন ফাংশন একটি স্ট্রিং এক্সেপ্ট করে এবং সেটিকে datetime অবজেক্টে কনভার্ট করে।


  1. পাইথনে print() ফাংশন কী এবং কীভাবে কাজ করে?

  2. পাইথনে input() ফাংশন কী কাজ করে?

  3. পাইথনে raw_input() ফাংশন কী কাজ করে?

  4. পাইথনে <code>reload()</code> ফাংশন কী করে?