gpt4 book ai didi

python - 访问 "module scope"变量

转载 作者:IT老高 更新时间:2023-10-28 20:52:28 25 4
gpt4 key购买 nike

我目前正在学习 Python,我必须从事 Python 2.7 项目。

在模块本身的函数中访问“模块范围”变量对我来说有点困惑,我没有成功找到令人满意的方法。

到目前为止我的尝试:

方式一:

my_module.py

my_global_var = None

def my_func():
global my_global_var
my_global_var = 'something_else'

在这里,我认为混淆本地和“模块范围”变量可能很容易。

方式 2:

my_module.py

import my_module

my_global_var = None

def my_func():
my_module.my_global_var = 'something_else'

在这里,“my_module”的名称在必要时不能像“way 1”那样容易更改。另外,将模块导入自身听起来很奇怪。

你会推荐什么?或者你会建议别的吗?谢谢。

最佳答案

您可能想阅读 Python's namespaces .方法 1 是正确的,但通常是不必要的,永远不要使用 2。更简单的方法是只使用 dict(或类或其他对象):

my_globals = {'var': None}

def my_func():
my_globals['var'] = 'something else'

赋值总是进入最内部的范围,并且总是首先搜索最内部的范围,因此需要全局关键字。在这种情况下,您没有分配名称,因此没有必要。

关于python - 访问 "module scope"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com