前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 模块之间传递变量

Python 模块之间传递变量

作者头像
py3study
发布2020-01-10 10:24:54
3.7K0
发布2020-01-10 10:24:54
举报
文章被收录于专栏:python3

最近在做实验时发现个问题,我想在一个模块中调用另一个模块的变量,首先想到了用return 

函数返回值的方法将变量作为返回值并将该变量设为全局变量,可在执行时就是报错;

    综合借鉴了下其他博客和评论的方法,把需要全局使用的变量定义在一个全局变量模块里,当我

在调用其他模块之前先调用一下全局变量模块,这样就不报错了同时也可以把其他模块的变量值返回

给我

    首先定义一个全局变量模块

代码语言:javascript
复制
    # global.py

    class global_variable:

        def variable_name():

            global name

    # called.py

    class called_module:

        def called_function():

            name = input('please input your variable name:')

            return name

    # main.py

    from global import global_variable
    from called import called_module
    global_variable.variable_name()

    res = called_module.called_function

    print(res)

这样主文件输出的结果就是被调用模块的变量值了,同样也可以返回一个数据结构;

总结:   1. 全局定义变量可在函数内外定义均可;

 2. 全局变量定义只在其之下起作用,对其上部无效;

         3.  全局变量定义后并非一直不变,如果在其后仍有变量重新定义,变量值仍会改变;

         4.   定义在函数中的全局变量,如果函数没有被调用全局变量无效。

         5.   在一个模块内定义全局变量只能在本模块内使用不能再其他模块内使用;

 6.   跨模块使用全局变量需要在一个另一个模块中定义全局变量并被调用。

  参考文章:http://bbs.chinaunix.net/thread-943223-1-1.html

http://www.cnblogs.com/itech/archive/2011/01/27/1945501.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档