Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python สามารถ Assign Reference ให้ Variable ได้หรือไม่

แนวคิด Variable ใน Python ต่างจาก C/C++ ใน C/C++ Variable คือ Named Memory Location แม้ Assign ค่าตัวหนึ่งให้อีกตัว ก็สร้าง Copy ใน Location ใหม่

int x=5; int y=x;

ใน C++ Operator & คืน Address ของ Variable

cout << x << &x << y << &y;

จะพิมพ์ Address ต่างกัน แม้ค่าเหมือนกัน สร้าง Alias ได้ด้วย Reference Variable

int x=5; int &y=x; y=10; cout << x << y;  // ทั้งคู่เป็น 10

แต่ใน Python Variable คือแค่ชื่อที่ให้กับ Object ใน Memory Assign ค่าให้ Variable อื่น ทั้งคู่อ้างอิง Object เดียวกัน ตรวจสอบด้วย id()

>>> x=5
>>> y=x
>>> id(x), id(y)
(1486402752, 1486402752)

ดังนั้นใน Python ไม่สามารถสร้าง Reference ไปยัง Variable ได้ เพราะ Variable เองคือ Reference แล้ว