gpt4 book ai didi

python - 在 Python 中使用匿名函数

转载 作者:太空狗 更新时间:2023-10-30 01:59:36 26 4
gpt4 key购买 nike

我有一些代码可以从许多 URL 下载数据列表,然后调用另一个函数,传递每个结果。像...

def ShowUrls(self, url):
Urls = self.Scraper.GetSubUrls(url)
for Url in Urls:
self.UI.addLink(
Url[0],
Url[1])

这工作正常,但在 self.Scraper.GetSubUrls 运行时有很长的延迟,然后所有 UI 调用都非常迅速。这会导致 UI 长时间显示“0 Urls added”,然后完成。

我想要的是能够将 self.UI.addlink 方法传递给 self.Scraper.GetSubUrls 方法,以便可以调用它一旦检索到每个 URL。这应该使 UI 在检索到每个 URL 后立即显示正确的计数。

这可能吗?如果是这样,正确的语法是什么?

如果我使用 Javascript,我会做类似...

getSubUrls(url, function(x, y) {UI.addLink(x, y)})

然后,在 getSubUrls 中执行

SomeParamMethod(Pram1, Param2)

这可能吗?如果是这样,正确的语法是什么?

最佳答案

您可以使用 lambda , 但创建一个单独的函数并传递它通常是更好的主意。

self.Scraper.GetSubUrls(url, lambda url: self.UI.addLink(url[0], url[1]))

def addLink(url):
self.UI.addLink(url[0], url[1])

self.Scraper.GetSubUrls(url, addLink)

关于python - 在 Python 中使用匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13436426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com