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

สลับสองตัวแปรในหนึ่งบรรทัดโดยใช้ Python หรือไม่


ในส่วนนี้ เราจะสลับสองตัวแปรในบรรทัดเดียวโดยใช้ python วิธีมาตรฐานในการสลับสองตัวแปรในไพ ธ อนนั้นง่ายและสะดวกมาก-

>>> a = 20;b=30
>>> a
20
>>> b
30
>>> #Swap two variable in one line
>>> a, b = b, a
>>> a
30
>>> b
20

โค้ดด้านบนสร้างค่าสลับของ a และ b

คำอธิบาย

Python ประเมินนิพจน์จากซ้ายไปขวา อย่างไรก็ตาม ขณะประเมินงาน ทางขวามือจะได้รับการประเมินก่อนทางซ้ายมือ

นั่นหมายถึงสิ่งต่อไปนี้สำหรับนิพจน์ a, b =b, a

  • ทางด้านขวามือ 'b, a' ถูกประเมิน กล่าวคือ ทูเพิลของสององค์ประกอบถูกสร้างขึ้นในหน่วยความจำ ทั้งสององค์ประกอบคืออ็อบเจ็กต์ที่กำหนดโดยตัวระบุ b และ a ที่มีอยู่ก่อนพบคำสั่งระหว่างการดำเนินการของโปรแกรม

  • เมื่อสร้าง tuple แล้ว แต่ยังไม่มีการมอบหมายวัตถุ tuple นี้ แต่นั่นไม่ใช่ปัญหา เนื่องจาก python รู้ภายในว่าอยู่ที่ไหน

  • จากนั้นทางซ้ายมือจะถูกประเมิน นั่นคือ- ทูเปิลที่เก็บไว้ในหน่วยความจำถูกกำหนดให้กับทางซ้ายมือ เนื่องจากด้านซ้ายมือประกอบด้วยตัวระบุสองตัว a และ b ทูเปิลถูกแยกออกเพื่อให้ตัวระบุแรก a(ด้านซ้าย) ถูกกำหนดโดยองค์ประกอบแรกของทูเปิล (.i.e. b) และตัวระบุที่สอง b ถูกกำหนดโดยองค์ประกอบที่สองของ tuple (.i.e. a)

กล่าวโดยย่อ นิพจน์:“ a, b =b, a” สิทธิ์แรกถูกกำหนดให้ซ้ายที่หนึ่งและขวาที่สองถูกกำหนดให้เป็นวินาทีทางซ้ายพร้อมกันดังนั้นสลับค่าของ a และ b