我在variables.py
文件中声明了一些变量,并为它们赋了一些值:
flag = 0
j = 1
我想在另一个文件 main_file.py
中使用这些值:
import variables
if(flag == 0) :
j = j+1
但是我遇到以下错误:
NameError: name 'flag' is not defined
我该如何解决这个问题?
我在variables.py
文件中声明了一些变量,并为它们赋了一些值:
flag = 0
j = 1
我想在另一个文件 main_file.py
中使用这些值:
import variables
if(flag == 0) :
j = j+1
但是我遇到以下错误:
NameError: name 'flag' is not defined
除了使用变量时有些问题以外,你所做的一切都是正确的。
在你的 main_file.py 文件中:
if(variables.flag == 0) :
variables.j = variables.j + 1
(或者)
使用以下标题:
from variables import *
< p >(或)from variables import flag, j
将所有与标记和j(或任何其他您想要从该文件中使用的变量)的引用替换为前缀“variables.”
由于这只是变量的副本,如果您在main_file.py中修改它们,variables.py中的值不会受到影响。
你可以选择使用
import variables
variables.flag
variables.j
from variables import flag, j
并且可以通过变量名直接访问变量。
重要提示:
请注意,在第二种情况下,您将使用变量的副本,在一个模块中对其进行修改不会影响另一个模块中的变量!
from variables import *
if(flag == 0) :
j = j+1
或者像这样从导入的模块引用变量 variables.flag
import variables
if(variables.flag == 0) :
j = j+1
from variables import flag, j
if(flag == 0) :
j = j+1
variables.flag
保留命名空间variables
,因为当你的代码变得很大时,你总是可以知道标志变量来自模块变量。这也使您能够在其他模块中使用相同的变量名称flag,如module2.flag
。