Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3:导入包含用作常量的变量的文件_Python_Constants - Fatal编程技术网

Python3:导入包含用作常量的变量的文件

Python3:导入包含用作常量的变量的文件,python,constants,Python,Constants,我想使用一个config.py文件,在该文件中我将声明mainFile.py中使用的一些常量 我将使用大写字母定义这些“常量变量”。 我希望通过仅在config.py中定义常量,使配置mainFile.py参数变得更容易 当然,在mainFile.py中,这些常量的值决不会改变 所以,我的问题是: 如果在mainFile.py中我使用“From config.py import*”,那么在config.py中定义的“常量变量”是否用作mainFile.py中的全局变量? 例如,在mainFile

我想使用一个config.py文件,在该文件中我将声明mainFile.py中使用的一些常量

我将使用大写字母定义这些“常量变量”。 我希望通过仅在config.py中定义常量,使配置mainFile.py参数变得更容易

当然,在mainFile.py中,这些常量的值决不会改变

所以,我的问题是: 如果在mainFile.py中我使用“From config.py import*”,那么在config.py中定义的“常量变量”是否用作mainFile.py中的全局变量?
例如,在mainFile.py中定义的函数中,我是否需要将这些变量重新定义为全局变量以使用它们?

您只需编写
导入配置
,您的所有常量都可以在
mainFile.py
中访问。有两个选项:

  • 正如@Josh所指出的,在
    config.py
    中,您可以命名变量,例如
    m=10
    t=52
    ,等等。然后在
    mainFile.py
    上,您
    import config
    并以
    config.m
    的形式访问变量,这将导致
    10
    。比如:
  • y=config.m

    y=10

  • 第二个选项稍微长一点。您可以创建一个函数,例如
  • def m():
    m=10
    返回m

    然后在
    mainFile.py
    上,您
    import config
    并以
    config.m()
    的形式访问变量,该变量将产生
    10
    。像

    z = config.m()
    z = 10
    

    如果在某些情况下修改导入的变量,并且需要在访问该变量的所有其他位置反映该值,则需要使用
    global


    因为您只是在这里读取导入变量的值,
    global
    。同样在函数内部,如果先读取任何变量,它将在局部范围内搜索,然后在全局范围内搜索。因此,在函数内部不需要用于读取的
    global

    为什么不自己试试呢?您的常量将在全局范围内,如果您想考虑在.CONFIG/Frase/INI文件中存储配置,应该查看一下。