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

เราสามารถกำหนดการอ้างอิงให้กับตัวแปรใน Python ได้หรือไม่?


แนวคิดของตัวแปรใน 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 เราไม่สามารถสร้างการอ้างอิงไปยังตัวแปรได้