为什么这段代码 运行 正确? (python 全局关键字)

why this code run correctly? (python global keyword)

我是新手...正在研究 global 关键字。 此代码创建一个随机字符串。

我认为第 8 行string.append(word[x]) 在此代码上出错 因为string是一个全局变量,所以必须要有global关键字。 (全局字符串)

但是这段代码 运行 正确... 为什么可以运行正确...?

import random
word = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'.split(" ")
string = []
n = int(input())

def get(leng) :
    for i in range (0, leng) :
        x = random.randint(0, len(word)-1)
        string.append(word[x])
    sen = ''.join(string)
    return sen

print(get(n))

你的代码乍一看似乎没有任何问题,虽然不是很清楚你想要发生什么或错误,但在 get() 中,你的列表 string 没有' 需要被分配为一个全局变量,除非你想重新定义变量。如果出于某种原因,您决定在函数内声明 string 或与此相关的任何变量,则需要更改其范围。