小编Tim*_*Tim的帖子

如何在不处于顶层的情况下解决python多处理的酸洗错误?

我已经多次研究过这个问题,但是没有找到一个可以在我的情况下工作的解决方法,或者我理解的解决方法,所以请耐心等待.

基本上,我有一个功能的层次组织,这阻止我在顶层进行多处理.不幸的是,我不相信我可以改变程序的布局 - 因为我需要在初始输入后创建的所有变量.

例如,说我有这个:

import multiprocessing

  def calculate(x):
    # here is where I would take this input x (and maybe a couple more inputs)
    # and build a larger library of variables that I use further down the line

    def domath(y):
      return x * y

    pool = multiprocessing.Pool(3)
    final= pool.map(domath, range(3))

calculate(2)
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

Can't pickle <type 'function'>: attribute lookup __builtin__.function failed
Run Code Online (Sandbox Code Playgroud)

我在考虑全局,但我担心我必须定义太多,这可能会使我的程序减慢很多.是否有任何解决方法而无需重组整个计划?

python pickle multiprocessing python-multiprocessing

7
推荐指数
2
解决办法
5154
查看次数

你能覆盖一个由函数结果定义的变量而不先在python中清除吗?

所以,我想知道是否有办法在一步中清除和覆盖/重写变量,而不必事先清除它.

这就是我的例子:

def rate(t,w):
    return (t + cos(t))

sum = 0
for i in range(k):
    sum += rate(t+h*i,w)

print sum
Run Code Online (Sandbox Code Playgroud)

但是如果我想以不同的方式重用这个函数,我必须首先清除"sum"变量.如果可能的话,我想摆脱那一步.

sum = 0                   # I want to combine this step
sum = rate(t,w)/2         # and this one.
for i in range(1,k):
    sum += rate(t+h*i,w)

print sum
Run Code Online (Sandbox Code Playgroud)

这可能吗?(顺便说一下,所有这些代码都在同一个文档中.)

python variables function overwrite python-2.7

2
推荐指数
1
解决办法
106
查看次数

使用一个值在一行中一次定义多个变量?

好的,基本上我想同时用所有相同的值定义4个单独的变量.

有可能做到这一点吗?

a, b, c, d = 4
Run Code Online (Sandbox Code Playgroud)

所有四个变量分别等于4?

python

-1
推荐指数
1
解决办法
131
查看次数