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

การกำหนดค่าให้หลายตัวแปรพร้อมกันใน Python (Multiple Assignment)

ใน Python ตัวแปรคือ "ฉลาก" (label) ที่ชี้ไปยังออบเจ็กต์ในหน่วยความจำ ดังนั้นออบเจ็กต์เดียวกันสามารถถูกอ้างอิงโดยตัวแปรหลายตัวได้

1. กำหนดค่าเดียวกันให้หลายตัวแปร (Chained Assignment)

>> a = b = c = 5
>>> a, b, c
(5, 5, 5)
>>> id(a), id(b), id(c)
(1902228672, 1902228672, 1902228672)  # ชี้ไปยังออบเจ็กต์เดียวกัน

ตัวแปร a, b, c ทั้งสามชี้ไปยังออบเจ็กต์ 5 เดียวกัน สามารถตรวจสอบได้ด้วย id()

2. กำหนดค่าต่างกันให้หลายตัวแปร (Tuple Unpacking)

>> a, b, c = (1, 2, 3)
>>> a, b, c
(1, 2, 3)

# หรือเขียนสั้นๆ โดยไม่ต้องมีวงเล็บ
>>> x, y, z = 10, 20, 30
>>> x, y, z
(10, 20, 30)

ค่าจาก tuple/object ที่ iterable ได้ จะถูก "unpack" มาใส่ตัวแปรแต่ละตัวตามลำดับ

การประยุกต์ใช้: สลับค่าตัวแปร (Swap)

>> a, b = 10, 20
>>> a, b = b, a  # สลับค่าได้ในบรรทัดเดียว ไม่ต้องใช้ตัวแปรชั่วคราว
>>> a, b
(20, 10)