高阶函数构造函数

时间:2014-12-10 19:45:55

标签: python function generator

我正在用Python编程,我需要编写一个特定的对象,但是我遇到了一些困难:我想要一个可以根据需要调用特定生成器的对象,该生成器在构造过程中通过init传递。

现在我写了这样的东西,但显然它不起作用。

class Foo():
   id = ''

   def __init__ (self, num)
       self.id = num

   def recallGenerator():
       return self.generator

我在哪里以及如何通过recallGenerator()传递和存储我想要回忆的生成器?

1 个答案:

答案 0 :(得分:0)

好吧,我已经解决了。

这是我想要的课程

class Foo():
    id = ''
    generator = ''

   def __init__ (self, num, gen)
       self.id = num
       self.generator = gen

   def recallGenerator(param1, param2,...):
       return self.generator(param1, param2,...)

现在,给定一个通用生成器G(param1,param2 ...),您可以创建对象并使用

将其传递给构造函数
objectIWanted = Foo(1, G)

然后您可以使用

调用生成器
objectIWanted.recallGenerator(param1, param2,...)

请注意将G传递给构造函数时缺少的括号。