অফিসিয়াল পাইথন ডকুমেন্টেশন বলে __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 অবজেক্টে কনভার্ট করে।