পাইথনের স্ট্রিংগুলি অপরিবর্তনীয়, এর মানে হল যে একবার একটি স্ট্রিং তৈরি হয়ে গেলে, এটি পরিবর্তন করা যাবে না। আপনি যখন একটি স্ট্রিং তৈরি করেন, এবং আপনি যদি একই স্ট্রিং তৈরি করেন এবং এটিকে অন্য ভেরিয়েবলে বরাদ্দ করেন তারা উভয়ই একই স্ট্রিং/মেমরির দিকে নির্দেশ করবে। উদাহরণস্বরূপ,
>>> a = 'hi' >>> b = 'hi' >>> id(a) 43706848L >>> id(b) 43706848L
স্ট্রিং বস্তুর এই পুনঃব্যবহারকে পাইথনে ইন্টারনিং বলা হয়। একই স্ট্রিং একই আইডি আছে. কিন্তু পাইথন ইন্টার্ন স্ট্রিং নিশ্চিত করা হয় না. আপনি যদি এমন স্ট্রিং তৈরি করেন যা হয় কোড অবজেক্ট কনস্ট্যান্ট নয় বা অক্ষর + সংখ্যা + আন্ডারস্কোর পরিসরের বাইরে অক্ষর ধারণ করে, আপনি দেখতে পাবেন id() মানটি পুনরায় ব্যবহার করা হচ্ছে না।
আমরা নিম্নরূপ প্রদত্ত স্ট্রিং এর আইডি পরিবর্তন করি। আমরা এটি দুটি ভিন্ন শনাক্তকারীকে বরাদ্দ করি। যখন পাওয়া যায় তখন এই ভেরিয়েবলের id ভিন্ন হয়। কারণ প্রদত্ত স্ট্রিংটিতে বর্ণমালা, অঙ্ক এবং আন্ডারস্কোর ছাড়া অন্য অক্ষর রয়েছে৷
>>> a = 'weworks_45#@$' >>> b = 'weworks_45#@$' >>> id(a) 96226208L >>> id(b) 91720800L