Может ли кто-нибудь сказать разницу между __mul__ и __rmul__? .........
✞ ☎ class Point2D : ... def __mul__ ( self , other ): if isinstance ( other , Point2D ): # scalar product return self .x * other .x + self .y * other .y elif isinstance ( other , numbers . Number ): # scalar multiplication return Point2D ( other * self .x , other * self .y ) else : return NotImplemented def __rmul__ ( self , other ): if isinstance ( other , numbers . Number ): return Point2D ( other * self .x , other * self .y ) else : return NotImplemented >>> p1 = Point2D(1,0) >>> p1.x, p1.y (1, 0) >>> p2 = p1 * 42 # multiply p1 with a number >>> p2.x, p2.y # yields a point (42, 0) >>> w = p1 * p2 # multiply two points >>> w # yields a number 42 >>> p3 = 3 * p1 # multiply a number with a point >>> p3.x, p3.y # yields a point (3, 0)
Что я уже пробовал:
__mul__ и _ _ rmul__,...............................
Patrice T
Вы когда-нибудь задумывались о том, чтобы прочитать документацию ?