can I call a list of functions and use list comprehension?
def func1():return 1
def func2():return 2
def func3():return 3
fl = [func1,func2,func3]
fl[0]()
Yes, you can - the functions get called as intended.
>>> [f() for f in fl]
[1, 2, 3]
Absolutely :)
Of course you can as Fábio Diniz said :), However for the class method when used as a callable, an object must be given as an argument:
fobj= F()
for f in fobj.fl:
f(fobj)
The object must be given as an argument to the callable because when you look at the definition of the method def funcX(self):
the method needs one argument "self"
Yes, you can. The resultant list will hold the return values of your functions.