我们可以定义一个函数,它的输出是Python中在body中定义的另一个函数吗

2024-09-28 13:27:09 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我代码的一部分:

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

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

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

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

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)

Tags: 函数代码importidcitystreamreturndef

热门问题