考虑来自concurrent.futures示例(https://docs.python.org/3/library/concurrent.futures.html#threadpoolexecutor-example)的行:
future_to_url = {executor.submit(load_url, url, 60): url for url in URLS}
不知道她的 executor.submit(load_url,url,60):url 究竟发生了什么。显然,它是设置理解, executor.submit 应用于 URLS 中的每个网址。但是用什么技术来修复 load_url 和 60 参数?这是使用列运算符的某种curriyng或部分应用,但它是什么语言特性?
答案 0 :(得分:1)
显然,这是理解
不,这是一个词典理解。冒号前面的表达式是每个新键,后面的表达式是相应的值。
答案 1 :(得分:1)
load_url
是上面定义的方法(load_url(url, timeout)
)。
我想executor.submit(load_url,url,60)
会在load_url(url,60)
点调用executor.submit
。
所以60是超时(可能因为60s = 1mn)。
词典理解将load_url
应用于具有相同两个参数60
和url
的每个网址,以及一个更改参数$this->get('logger')->info('messsage');
。