Python 中的变量有作用域的概念,即在不同的程序块中定义的变量具有不同的作用范围。根据作用范围的不同,变量可以分为局部变量和全局变量。
局部变量是在函数内部定义的变量,在函数外部无法访问该变量。它的作用范围仅限于定义的函数内部。通常情况下,每个函数都有自己的局部变量,与其他函数的变量完全隔离,互不影响。当函数执行完毕后,其局部变量也会被销毁。
全局变量是在模块文件、类定义或者函数之外定义的变量。全局变量可以在当前模块的任何一个函数中被访问和修改。全局变量的作用范围覆盖整个模块文件,因此多个函数中可以共享同一个全局变量,对全局变量的修改将影响到其他函数。
需要注意的是,在函数内部如果你想修改全局变量的值,必须在函数内部先用关键字 global
声明该变量,否则 Python 将会在函数体内新建一个局部变量,而不是直接修改全局变量。例如:
x = 10 # x 是全局变量
def func():
global x # 声明 x 是全局变量
x = 20 # 修改全局变量 x 的值
print(x) # 输出 10
func()
print(x) # 输出 20
在上面的示例中,首先定义了一个全局变量 x
,然后定义了一个函数 func
,在函数内部使用 global
声明了变量 x
是全局变量,并将其修改为了 20。最后再次输出变量 x
,可以看到变量的值已经被修改为 20。
A、 ls.append(x):在 ls 最后添加一个元素
B、 ls.clear():删除 ls 的最后一个元素
C、 ls.copy:生成新列表,复制 ls 所有元素
D、 ls.reverse():列表 ls 的所有元素反转