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

ออเปอเรเตอร์ =+ และ += ใน Python ทำอะไรต่างกัน

ออเปอเรเตอร์ += เป็น syntactic sugar สำหรับฟังก์ชัน object.__iadd__() จากเอกสาร Python:

เมธอดเหล่านี้ถูกเรียกเพื่อนำ augmented arithmetic assignments ไปใช้ (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) เมธอดเหล่านี้ควรพยายามดำเนินการแบบ in-place (แก้ไข self) และคืนค่าผลลัพธ์

ตัวอย่าง

a = 5
b = 10
a += b
print(a)

ผลลัพธ์

15

a ถูกแก้ไขแบบ in-place ที่นี่ คุณสามารถอ่านเพิ่มเติมได้ที่ https://docs.python.org/3/reference/datamodel.html#object.__iadd__

ออเปอเรเตอร์ =+ เทียบเท่ากับการทำ a = -b แต่เป็นบวกแทนลบ มันพื้นฐานแล้วเหมือนกับ a = b เพราะการใส่ + นำหน้าค่าไม่เปลี่ยนแปลงค่า เรียกว่า unary operator เพราะมีอาร์กิวเมนต์เดียว (เช่น +a) แทนที่จะเป็นสองตัว (เช่น a+b)