我们能否定义一个函数,其输出是Python主体中定义的另一个函数

时间:2019-04-21 16:13:39

标签: python

这是我的代码的一部分:

def Myfunction(Stream):
    import MyLibA
    return Stream.Id(), MyLibA.City('America')

import MyLibB.action as action
result = action.mapStream(Myfunction)

我们可以看到函数Myfunction没有变量,并且不允许更改action的定义(即,我不能更改函数Myfunction的变量)。

现在,我需要运行一个城市列表循环(函数America中的变量Myfunction):

cityList = ['China', 'America', 'Janpan']

天真的,我必须手动更改America中的变量Myfunction并逐个运行它。

如何将变量传递给Myfunction

我们可以定义一个函数,其返回值是另一个函数。和这个想法的pausi代码类似(这不是正确的代码,只是我要实现的代码):

cityList = ['China', 'America', 'Janpan']

def function(city):
    def Myfunction(Stream):
        import MyLibA
        return Stream.Id(), MyLibA.City(city)

    return Myfunction

for city in cityList:
    Myfunction = function(city)
    import MyLibB.action as action
    result = action.mapStream(Myfunction)

0 个答案:

没有答案