বিল্ট-ইন ফাংশন repr() এবং str() যথাক্রমে অবজেক্টকে কল করে।__repr__(self) এবং object.__str__(self) পদ্ধতি। প্রথম ফাংশন বস্তুর অফিসিয়াল উপস্থাপনা গণনা করে, যখন দ্বিতীয়টি বস্তুর অনানুষ্ঠানিক উপস্থাপনা প্রদান করে।
পূর্ণসংখ্যা বস্তুর জন্য উভয় ফাংশনের ফলাফল একই।
>>> x = 1 >>> repr(x) '1' >>> str(x) '1'
যাইহোক, এটি স্ট্রিং অবজেক্টের ক্ষেত্রে নয়।
>>> x = "Hello" >>> repr(x) "'Hello'" >>> str(x) 'Hello'
একটি স্ট্রিং অবজেক্টের repr() এর রিটার্ন মান eval() ফাংশন দ্বারা মূল্যায়ন করা যেতে পারে এবং এর ফলে বৈধ স্ট্রিং অবজেক্ট পাওয়া যায়। যাইহোক, str() এর ফলাফল মূল্যায়ন করা যাবে না।
>>> y1 = repr(x) >>> eval(y1) 'Hello' >>> y2 = str(x) >>> eval(y2) NameError: name 'Hello' is not defined
সংক্ষেপ. repr() অবজেক্টের একটি ডিফল্ট এবং দ্ব্যর্থহীন উপস্থাপনা প্রদান করে, যেখানে str() একটি অনানুষ্ঠানিক উপস্থাপনা দেয় যা পাঠযোগ্য হতে পারে কিন্তু সর্বদা দ্ব্যর্থহীন নাও হতে পারে।