ออเปอเรเตอร์ &= เป็น syntactic sugar สำหรับฟังก์ชัน object.__iand__() จากเอกสาร Python:
เมธอดเหล่านี้ถูกเรียกเพื่อนำ augmented arithmetic assignments ไปใช้ (+=, -=, *=, @=, /=, //=, %=, **=, <<=, >>=, &=, ^=, |=) เมธอดเหล่านี้ควรพยายามดำเนินการแบบ in-place (แก้ไข self) และคืนค่าผลลัพธ์ (ซึ่งอาจเป็น แต่ไม่จำเป็นต้องเป็น self)
ตัวอย่าง
a = 6 # 110 ใน binary b = 5 # 101 ใน binary a &= b # a เปลี่ยนเป็น AND ของ 110 และ 101 คือ 100 คือ 4 print(a)
ผลลัพธ์
4
a ถูกแก้ไขแบบ in-place ที่นี่ คุณสามารถอ่านเพิ่มเติมได้ที่ https://docs.python.org/3/reference/datamodel.html#object.__iand__