• 12
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

call list of function using list comprehension

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]()
fl[1]()
fl[2]()

I know I can do

for f in fl:
   f()

but can I do below ?

[f() for f in fl]

A additional question for those kind people, if my list of functions is in class, for example

class F:

    def __init__(self):
        self.a, self.b, self.c = 0,0,0

    def func1(self):
        self.a += 1

    def func2(self):
        self.b += 1

    def func3(self):
        self.c += 1

    fl = [func1,func2,func3]

fobj= F()

for f in fobj.fl:
    f()

does it work?

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"

  • 16
Reply Report

Trending Tags