如何在python中声明全局变量

时间:2017-06-08 08:31:01

标签: python python-3.5

我实际上正在学习python的阶段,我也没有得到谷歌的帮助,所以大家请帮我解决一下特定要求的全局变量。

我在ubuntu OS 16.04中使用python 3.5并且我必须在一个文件中声明一个全局变量并使用默认值初始化并将其导入到同一个包中的另一个python文件中但是何时声明并导入我得到的导入全局变量的文件中跟随错误:

  

AttributeError:module' App.views'没有属性' request_dict'

不用担心,我也有代码,如下所示:

views.py:

public void DoSomeWork()
{
    PerformWebWork("http://example.com", new object());

    // Perform other work
    // Forget webWork Task

    // Finish
}

public async Task DoSomeWorkAsync()
{
    Task webWorkTask = PerformWebWork("http://example.com", new object());

    // Perform other work

    // Ensure webWorkTask finished
    await webWorkTask;

    // Finish
}

public async Task PerformWebWork(string url, object objAPILog)
{
    string serializedContent = new JavaScriptSerializer().Serialize(objAPILog);
    using (HttpClient client = new HttpClient())
    {
        StringContent content = new StringContent(serializedContent);
        HttpResponseMessage postResponse = await client.PostAsync(url, content);
    }
}

task.py:

from collections import OrderedDict

request_dict = OrderedDict()

def hello():
    print("hello from views file")

3 个答案:

答案 0 :(得分:1)

你试过做一个只是一个函数文件的文件,例如: funtions.py:

p = print
i = input

然后将该文件移动到python安装文件夹。 python shell和idle所在的位置。然后在任何其他文件中,您可以这样做:

from functions import p
p('hi')

然后此代码将返回' hi'

答案 1 :(得分:0)

您可以在变量名之前使用'global'关键字声明gloabl变量

答案 2 :(得分:-1)

from views import *  

将从views导入所有对象和方法。然而,它通常是shouldn't do

请考虑

from views import request_dict

仅导入您需要的变量,并避免污染您的命名空间。