สมมติว่าคุณได้สร้างคลาส Vector เพื่อเป็นตัวแทนของเวกเตอร์สองมิติ จะเกิดอะไรขึ้นเมื่อคุณใช้ตัวดำเนินการ plus เพื่อเพิ่มพวกมัน เป็นไปได้มากที่ Python จะตะโกนใส่คุณ
อย่างไรก็ตาม คุณสามารถกำหนดเมธอด __add__ ในคลาสของคุณเพื่อทำการบวกเวกเตอร์ จากนั้นโอเปอเรเตอร์บวกจะทำงานตามที่คาดไว้ -
ตัวอย่าง
#!/usr/bin/python class Vector: def __init__(self, a, b): self.a = a self.b = b def __str__(self): return 'Vector (%d, %d)' % (self.a, self.b) def __add__(self,other): return Vector(self.a + other.a, self.b + other.b) v1 = Vector(2,10) v2 = Vector(5,-2) print v1 + v2
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
Vector(7,8)