ในบทความนี้เราจะมาต่อกันกับ Operators ในภาษาไพทอนกันนะครับ สำหรับ Operators ที่ยังไม่ได้พูดถึงจะมี Identity Operators, Membership operators, and Bitwise operators
โดย Identity Operators จะเป็นตัวดำเนินการประเภทที่ใช้ในการเปรียบเทียบวัตถุ (object) โดยเราจะไม่เปรียบเทียบว่าวัตถุทั้งสองอย่างมีค่าเท่ากันหรือไม่ แต่เราจะเปรียบเทียบว่าวัตถุทั้งสองอย่างนั้นเป็นสิ่งๆเดียวกันหรือไม่ อยู่ในที่อยู่เดียวๆกันหรือไม่ (เวลาเราเขียนโปรแกรมการประกาศว่า x = 10, x = 10 จะอยู่ในที่อยู่ที่ๆหนึ่งในหน่วยความจำของเรา ถ้าเราประกาศว่า y = 10 ตามมา ก็จะอยู่คนละที่อยู่กัน หมายความว่ามีค่าเท่ากันแต่อยู่คนละที่อยู่ในหน่วยความจำนั่นเอง)
ในภาษาไพทอนจะมีแค่สองคำสั่งเท่านั้น คือ is และ is not เพื่อถามว่าวัตถุทั้งสองอย่างเป็นวัตถุเดียวกันหรือไม่
ตัวดำเนินการ | ตัวอย่าง | คำอธิบาย |
is | A is B | จะ return ว่า True หากวัตถุทั้งสองเป็นวัตถุเดียวกัน |
is not | A is not B | จะ return ว่า True หากวัตถุทั้งสองเป็นคนละวัตถุกัน |
ต่อมาเราเคลียร์กันดีกว่าว่าคำว่า “วัตถุเดียวกัน” กับ “มีค่าเท่ากัน” ไม่เหมือนกันยังไง
ตัวอย่างที่ 1
บรรทัดที่ 1 ให้ A เป็น list มีสมาชิก 3 ตัวคือ I Like You
บรรทัดที่ 2 ให้ B เป็น list มีสมาชิก 3 ตัวเช่นกันคือ I Like You
บรรทัดที่ 4 ถามว่า A เท่ากับ B หรือไม่ คำตอบคือ เท่า เพราะมีสมาชิกเหมือนกัน เท่ากัน
ตัวอย่างที่ 2
บรรทัดที่ 1 ให้ A เป็น list มีสมาชิก 3 ตัวคือ I Like You
บรรทัดที่ 2 ให้ B เป็น list มีสมาชิก 3 ตัวเช่นกันคือ I Like You
บรรทัดที่ 4 ถามว่า A เป็นวัตถุเดียวกับ B หรือไม่ คำตอบคือ ไม่ เพราะมีสมาชิกเหมือนกันเท่านั้นแต่ไม่ได้อยู่ที่อยู่เดียวกัน
ตัวอย่างที่ 3
บรรทัดที่ 1 ให้ A เป็น list มีสมาชิก 3 ตัวคือ I Like You
บรรทัดที่ 2 ให้ B เป็น list มีสมาชิก 3 ตัวเช่นกันคือ I Like You
บรรทัดที่ 3 ให้ C เป็นวัตถุเดียวกับ A (ใช้ที่อยู่ในหน่วยความจำเดียวกัน)
บรรทัดที่ 4 ถามว่า A เป็นวัตถุเดียวกับ C หรือไม่ คำตอบคือ ใช้ เพราะมีอยู่ที่อยู่เดียวกันถือว่าเป็นวัตถุเดียวกัน