小编Hes*_*mSH的帖子

Python线程不会更改函数内的全局变量

我想编码的最基本的形式是代码如下:

import threading

arr = []
def test(id):
    global arr
    arr.append(id)

threading.Thread(target=test, args="8")
print(arr)
Run Code Online (Sandbox Code Playgroud)

我想要做的是将"8"附加到一个名为arr的全局变量但是这不会发生,print(arr)给出了这个输出:

[]
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用此代码,一切正常:

import threading

arr = []
def test(id):
    global arr
    arr.append(id)

test("8")
print(arr)
Run Code Online (Sandbox Code Playgroud)

问题似乎与线程有关,那么如何使用线程并在函数测试中更改全局变量的值?

python multithreading global-variables

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

标签 统计

global-variables ×1

multithreading ×1

python ×1