การส่งตัวแปรโดยการอ้างอิงใน Python

ใน Python ตัวแปรที่เก็บวัตถุที่ซับซ้อนจะถูกส่งโดยการอ้างอิง ซึ่งหมายความว่าการเปลี่ยนแปลงทั้งหมดที่ทำในตัวแปรหนึ่งจะสะท้อนไปยังตัวแปรที่สอง และแม้ว่าการกำหนดค่าแบบนี้จะเพิ่มความเสี่ยงของข้อผิดพลาด แต่มันช่วยประหยัดทรัพยากรหน่วยความจำของระบบปฏิบัติการได้อย่างมาก

สมมติว่าเรามีสองรายการ:

pythonlst1 = [1, 2, 3, 4, 5]
lst2 = lst1

เนื่องจากตัวแปร lst2 ถูกกำหนดค่าให้เท่ากับ lst1 ตอนนี้ในหน่วยความจำของคอมพิวเตอร์จึงเก็บรายการเดียวที่มีการอ้างอิงถึงพร้อมกันโดยสองตัวแปร

ลองเปลี่ยนองค์ประกอบแรกของ lst2 และพิมพ์รายการแรกออกทางคอนโซล:

pythonlst2[0] = '!'
print(lst1) # จะแสดง ['!', 2, 3, 4, 5]
Задание 1

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้จะเป็นอย่างไร:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst1)
Задание 2

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้จะเป็นอย่างไร:

pythonlst1 = [1, 2, 3, 4, 5]

lst2 = lst1
lst2[0] = '!'

print(lst2)
Задание 3

ผลลัพธ์ของการดำเนินการโค้ดต่อไปนี้จะเป็นอย่างไร:

pythonlst1 = ['a', 'b', 'c', 'd']

lst2 = lst1
lst3 = 'e'
lst2[2] = lst3

print(lst2)