สตริงใน Python นั้นเปลี่ยนไม่ได้ ซึ่งหมายความว่าเมื่อสร้างสตริงแล้ว จะไม่สามารถเปลี่ยนแปลงได้ เมื่อคุณสร้างสตริง และถ้าคุณสร้างสตริงเดียวกันและกำหนดให้กับตัวแปรอื่น ทั้งคู่จะชี้ไปที่สตริง/หน่วยความจำเดียวกัน ตัวอย่างเช่น
>>> a = 'hi' >>> b = 'hi' >>> id(a) 43706848L >>> id(b) 43706848L
การนำวัตถุสตริงกลับมาใช้ใหม่นี้เรียกว่าการฝึกงานใน Python สตริงเดียวกันมีรหัสเดียวกัน แต่ Python ไม่รับประกันว่าจะฝึกสตริง หากคุณสร้างสตริงที่ไม่ใช่ค่าคงที่อ็อบเจ็กต์โค้ด หรือมีอักขระที่อยู่นอกตัวอักษร + ตัวเลข + ขีดล่าง คุณจะเห็นค่า id() ไม่ถูกนำกลับมาใช้ใหม่
เราเปลี่ยน id ของสตริงที่กำหนดดังนี้ เรากำหนดให้กับตัวระบุที่แตกต่างกันสองตัว รหัสของตัวแปรเหล่านี้เมื่อพบจะต่างกัน เนื่องจากสตริงที่ระบุมีอักขระอื่นที่ไม่ใช่ตัวอักษร ตัวเลข และขีดล่าง
>>> a = 'weworks_45#@$' >>> b = 'weworks_45#@$' >>> id(a) 96226208L >>> id(b) 91720800L