How to pass a method as argument?
Anil Anvesh
anilanvesh at gmail.com
Fri Oct 1 01:59:57 EDT 2021
On Friday, October 1, 2021 at 6:04:34 AM UTC+5:30, Mats Wichmann wrote:
> On 9/29/21 23:11, Anil Anvesh wrote:
> > I want to write a python calculator program that has different methods to add, subtract, multiply which takes 2 parameters. I need to have an execute method when passed with 3 parameters, should call respective method and perform the operation. How can I achieve that?
> >
> let me add - this is probably not the place you are in your Python
> learning, so don't worry about this, but the operator module is designed
> for these kind of usages, when you want to pass an operator like + -
> etc. but of course can't pass the op itself to take actions because it's
> not a callable - the operator module has callables that can be used.
I solved it with simple if condition and without using init
#calculator class with arithmetic methods
class calc:
def execute(self, func, a, b):
self.a = a
self.b = b
if func == "add":
self.add()
elif func == "sub":
self.sub()
elif func == "mul":
self.mul()
elif func == "div":
self.div()
def add(self):
print (self.a,"+",self.b,"=",self.a + self.b)
def sub(self):
print (self.a,"-",self.b,"=",self.a - self.b)
def mul(self):
print (self.a,"*",self.b,"=",self.a* self.b)
def div(self):
print (self.a,"/",self.b,"=",self.a / self.b)
cal = calc()
cal.execute("div", 6, 3)
More information about the Python-list
mailing list