Python Thread Pool传参只一个怎么破?

2017-06-09 作者:

作为批量化操作的method,map比apply要方便简洁一些,至少不用for循环一堆东西
【注1】apply现已不用,因为实际使用基本等价于单进程操作
【注2】至于map之于map_async,及apply之于apply_async,是另外一个话题,可以参考这里
回到之前的话题,apply传参 – 可以清晰的看到,apply可以随意带args,多少个都没关系


而map传参 – 函数f只允许带一个参数,就是iterable里可以迭代的list


那么我们如何保留map这样的代码简洁性,同时也可以传多个参数呢?
这就用到了partial,把函数的定参放在partial内去传,变参依然iterable – 至少不需要把定参做成全局变量直接传给insert_and_process函数了
【注】对python2而言,partial只在2.7版本后支持 – 关于partial的说明在这里


有的同学可能要问 –
Q: 那如果两个(或多个)参数都是变参呢?
A: 开动一下脑筋吧 – 一起打进iterable里可好?
Q: 如果变参B与A不具备同样的iterable特性呢?
A: 擦的咧 – 那还map个毛啊。。。

原创文章,转载请注明链接: Python Thread Pool传参只一个怎么破?(注:本站图像可单击浏览大图)

    分享到:

最近文章

标签

分享

发表评论

电子邮件地址不会被公开。 必填项已用*标注

幼儿园数学验证 * 请输入正确的验证码