แนวคิดของตัวแปรใน Python แตกต่างจาก C/C++ ใน C/C++ ตัวแปรคือตำแหน่งที่มีชื่อในหน่วยความจำ แม้ว่าค่าของค่าหนึ่งจะถูกกำหนดให้กับอีกค่าหนึ่ง แต่ก็จะสร้างสำเนาในตำแหน่งอื่น
int x=5; int y=x;
ตัวอย่างเช่น ใน C++ ตัวดำเนินการ &จะส่งกลับที่อยู่ของตัวแปรที่ประกาศ
cout<x<<&x<<y<<&y;
สิ่งนี้จะพิมพ์ที่อยู่ที่แตกต่างกันของ x และ y แม้ว่าทั้งคู่จะมีค่าเท่ากัน คุณสามารถสร้างนามแฝงได้โดยการจัดเก็บที่อยู่ในตัวแปรอ้างอิง
int x=5; int &y=x; y=10; cout<<x<<y;
นี่แสดงว่าทั้งสองตัวแปรมี 10 ในที่นี้ y คือการอ้างอิงถึง x จึงใช้แทนกันได้
อย่างไรก็ตาม ใน Python ตัวแปรเป็นเพียงชื่อที่กำหนดให้กับวัตถุในหน่วยความจำ แม้ว่าเราจะกำหนดค่าของมันให้กับตัวแปรอื่น อันที่จริงแล้วทั้งคู่หมายถึงวัตถุเดียวกันในหน่วยความจำ สามารถตรวจสอบได้ด้วยฟังก์ชัน id()
>>> x=5 >>> y=x >>> id(x), id(y) (1486402752, 1486402752)
ดังนั้นจึงเป็นที่ชัดเจนว่าใน Python เราไม่สามารถสร้างการอ้างอิงไปยังตัวแปรได้