আপনি যখন exitকমান্ড লাইনটি টাইপ করেন, এটি সেই নামের সাথে ভেরিয়েবলটি খুঁজে পায় এবং তাতে __repr__(বা __str__) কল দেয়। সাধারণত, আপনি যেমন একটি ফলাফল পেতে চাই:
<function exit at 0x00B97FB0>
তবে তারা exitপরিবর্তে কোনও সহায়ক বার্তা প্রদর্শন করার জন্য সেই ফাংশনটিকে নতুন করে সংজ্ঞায়িত করার সিদ্ধান্ত নিয়েছে । এটি একটি নির্বোধ আচরণ হোক বা না হোক এটি একটি বিষয়গত প্রশ্ন, তবে এটি "স্রেফ প্রস্থান" না করার একটি সম্ভাব্য কারণ হ'ল:
ধরুন আপনি কোনও ডিবাগারে কিছু কোড খুঁজছেন, উদাহরণস্বরূপ, এবং অবজেক্টগুলির একটি exitফাংশনটির উল্লেখ করেছে । ডিবাগার যখন সেই __repr__ফাংশনটি আপনার কাছে প্রদর্শন করার জন্য সেই অবজেক্টটিতে কল করার চেষ্টা করে , প্রোগ্রাম হঠাৎ বন্ধ হয়ে যায়! এটি সত্যিই অপ্রত্যাশিত হবে এবং এর মোকাবিলার পদক্ষেপগুলি বিষয়গুলিকে আরও জটিল করে তুলতে পারে (উদাহরণস্বরূপ, আপনি যদি সেই আচরণটি কমান্ড লাইনের মধ্যে সীমাবদ্ধ করেন এমনকি যদি আপনি exitকোনও বৈশিষ্ট্য হিসাবে কিছু বস্তু মুদ্রণের চেষ্টা করেন তবে কী হবে ?)
()শেষের দিকে ফাংশনগুলির সাথে ডাকা হয় তার সাথে এটি করাতে পারে ... অন্যথায়, এটি (সম্ভবত) পরিবর্তনশীল হতে পারে ... বা কোনও ধরণের অবজেক্ট ...