【发布时间】:2020-12-17 11:59:18
【问题描述】:
在 Python 中,我想知道如何在模块中定义一个变量,该变量可以被该模块中的所有函数使用。
我知道如果我在函数外部定义一个变量,我可以通过引入global在函数中访问该变量
例如:在模块名称gas.py内
R = 8.314 # univsersal gas constant
def pressure(T, V, n):
global R
P = n*R*T/V
return P
def temperature(P,V,n):
global R
T = P*V/(R*n)
return T
但是如你所见,我必须在每个函数中写上global R。
有没有一种方法可以访问 R 而无需在每个函数中写入 global R ?
例如:
R = 8.314 # 通用气体常数
def pressure(T, V, n):
P = n*R*T/V
return P
def temperature(P,V,n):
T = P*V/(R*n)
return T
谢谢
【问题讨论】:
-
抱歉打错了……现在是正确的
-
global只需要分配给全局,而不是读取它。 -
您是否尝试运行第二个版本?它确实有效......
-
"我可以通过引入全局访问函数中的变量"不,使用
global不需要访问变量。只需在非全局范围内分配给全局变量您的示例已经可以做到这一点。你试过了吗? -
我在控制台Python上试过,不在模块内部,只是为了测试。它没有用,所以我有点惊慌,以为只有全局有效。但是现在在控制台中再次查看我的脚本后,我认为我写错了