Я хочу сделать что-то вроде
class A:
def __init__( self, left, right, op ):
self.left = left
self.right = right
self.op = op
def calculate( self ):
self.number = op( self.left, self.right )
return self.number
и использовать его, например, так:
a = A( 1, 2, + )
a2 = A( 2, 3, * )
Я пытался сделать
op = +
op = __add__
но ничего из этого не сработало.Может кто-нибудь сказать, возможно ли это (и если да, то как это называется, потому что я даже не знаю, как его искать).Или единственный возможный способ состоит в том, чтобы иметь большой, уродливый оператор if-else
в calculate
и проверить значение op
, которое будет сохранено как str
?
Спасибо!