我知道我应该首先避免使用全局变量,因为这样的混乱,但是如果我要使用它们,下面的方法是有效的吗?(我试图调用在单独函数中创建的变量的全局副本.)

x = "somevalue"

def func_A ():
   global x
   # Do things to x
   return x

def func_B():
   x = func_A()
   # Do things
   return x

func_A()
func_B()

第二个函数使用的x是否与func_a使用和修改的x的全局副本具有相同的值?在定义之后调用函数时,顺序重要吗?

推荐答案

如果只想访问全局变量,只需使用其名称即可.然而,要计算它的值,你需要使用global关键字.

例如.

global someVar
someVar = 55

这会将全局变量的值更改为55.否则,它只会将55赋给一个局部变量.

函数定义列表的顺序并不重要(假设它们没有以某种方式相互引用),它们被调用的顺序才重要.

Python相关问答推荐

流畅的模式,采用Escc方法

零填充2D数组上的Numpy切片

来自ARIMA结果的模型方程

保留包含pandas pandras中文本的列

如何将桌子刮成带有Se的筷子/要求/Beautiful Soup ?

优化在numpy数组中非零值周围创建缓冲区的函数的性能

Locust请求中的Python和参数

2维数组9x9,不使用numpy.数组(MutableSequence的子类)

时间序列分解

SQLGory-file包FilField不允许提供自定义文件名,自动将文件保存为未命名

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

将数据框架与导入的Excel文件一起使用

聚合具有重复元素的Python字典列表,并添加具有重复元素数量的新键

Pandas—合并数据帧,在公共列上保留非空值,在另一列上保留平均值

有没有一种方法可以从python的pussompy比较结果中提取文本?

将scipy. sparse矩阵直接保存为常规txt文件

在单次扫描中创建列表

为什么if2/if3会提供两种不同的输出?

Flash只从html表单中获取一个值

如何检测鼠标/键盘的空闲时间,而不是其他输入设备?