>>> x = 'foo'
>>> x
'foo'
নামটি স্ট্রিংয়ের xসাথে সংযুক্ত থাকে 'foo'। আপনি যখন উদাহরণস্বরূপ কল করেন তখন repr(x)দোভাষী 'foo'তার পরিবর্তে xকল করে এবং তারপরে কল করে repr('foo')।
>>> repr(x)
"'foo'"
>>> x.__repr__()
"'foo'"
reprআসলে একটি যাদু পদ্ধতি কল __repr__এর xযা দেয়, স্ট্রিং মান প্রতিনিধিত্ব ধারণকারী 'foo'নির্ধারিত x। সুতরাং এটি 'foo'স্ট্রিং এর ""ফলে ফিরে আসে "'foo'"। ধারণাটি reprহ'ল একটি স্ট্রিং দেওয়া যাতে একটি সিরিজ প্রতীক থাকে যা আমরা ইন্টারপ্রেটারে টাইপ করতে পারি এবং একই মান পাই যা আর্গুমেন্ট হিসাবে প্রেরণ করা হয়েছিল repr।
>>> eval("'foo'")
'foo'
আমরা যখন কল করি তখন এটি অনুবাদকের eval("'foo'")টাইপের মতোই 'foo'। এটি হ'ল বাইরের স্ট্রিংয়ের বিষয়বস্তু সরাসরি ""ইন্টারপ্রেটারে টাইপ করি ।
>>> eval('foo')
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
eval('foo')
File "<string>", line 1, in <module>
NameError: name 'foo' is not defined
আমরা যদি কল করি eval('foo'), fooদোভাষী হিসাবে টাইপ করার মতোই এটি। তবে কোনও fooপরিবর্তনশীল উপলব্ধ নেই এবং একটি ব্যতিক্রম উত্থাপিত হয়।
>>> str(x)
'foo'
>>> x.__str__()
'foo'
>>>
strকেবলমাত্র বস্তুর স্ট্রিং প্রতিনিধিত্ব (মনে রাখবেন, xপরিবর্তনশীল বোঝায় 'foo'), সুতরাং এই ফাংশনটি স্ট্রিংটি ফেরত দেয়।
>>> str(5)
'5'
পূর্ণসংখ্যার স্ট্রিং প্রতিনিধিত্ব 5হয় '5'।
>>> str('foo')
'foo'
স্ট্রিং এর স্ট্রিং প্রতিনিধিত্ব 'foo'একই স্ট্রিং 'foo'।