-2

我真诚地希望这不是重复的,但我找不到答案(你会注意到我什至不知道如何问这个问题!)。

我有一个类和许多定义的python代码。解释我为什么要执行以下操作需要花费太多时间,但我肯定能够:

class A:
    def a(self):
         some argument

    def b(self):
         another argument

所以要调用def,我只是输入:

A().a()
A().b()

我想做的是有第三个定义,如下所示:

    def c(self):

         process = [A().a(), A().b(), A().a(), A().a()] #This sequence is just an example - there are many more def's.

         for i in process:
                  print 'Hello'
                  i
                  print 'Bye'

我不知道这是否有意义?当前发生的情况是调用过程部分,然后将两条打印线打印几次。

谢谢。

4

1 回答 1

3

这行得通吗?

def c(self):

     process = [self.a, self.b, self.a, self.a] 

     for i in process:
              print 'Hello'
              i()
              print 'Bye'

在您的原始示例中,您没有存储函数,而是在构建列表时已经调用了它们。方法的返回值存储在列表中,这就是为什么以后不能调用它们的原因。

于 2013-10-02T16:13:34.600 回答