文档章节

零基础学python-16.5 模块间全局变量的修改以及其他访问全局变量的方法

raylee2015
 raylee2015
发布于 2015/09/17 16:40
字数 467
阅读 11
收藏 0

这一章节我们来讨论一下python里面模块间全局变量的修改以及其他访问全局变量的方法

1.模块间全局变量的修改

x=1#全局变量,其实就是模块里面所有的函数都可以使用
def test():
    print(x)
if __name__=='__main__':             
        test()

上面的代码保存为test.py

import test
if __name__=='__main__':
        test.x=2
        test.test()
        print(test.x)

上面的代码保存为test2.py

我们运行test2.py

输出:

>>> ================================ RESTART ================================
>>> 
2
2
>>>

虽然上面的代码实现了模块间全局变量的修改,但是我们并不推荐使用这种方法,因为:在大型应用里面,存在非常多的修改,如果而且这种跨模块的修改对于以后的维护非常麻烦

2.其他访问全局变量的方法

x=1#全局变量,其实就是模块里面所有的函数都可以使用
def test1():
    x=6
    print('test1:'+str(x))
def test2():
    global x
    x+=1
    print('test2:'+str(x))
def test3():
    import test
    test.x+=1
    print('test3:'+str(test.x))
def test4():
    import sys
    module=sys.modules ['test']
    module.x+=1
    print('test4:'+str(module.x))
if __name__=='__main__':             
        test1()
        test2()
        test3()
        test4()
        print(x)

上面的代码保存为test.py


运行输出:

>>> ================================ RESTART ================================
>>> 
test1:6
test2:2
test3:2
test4:3
2
>>>

从上面的结果可以看见,虽然其他的都有所改变,但是最后的x还是只是因为使用了global那个语句猜改变的,其他的到没有什么变化


总结:这一章节简单介绍了模块间全局变量的修改以及其他访问全局变量的方法


这一章节就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录

 


版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/raylee2007/article/details/48437661

raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
私信 提问
Python变量查找LEGB原则

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_35085676/article/details/79851251 两种类型 首先要知道Python的基本数据类型分为2种,可变以及不可变...

岚漾忆雨
2018/04/08
0
0
零基础学python,看完这篇文章,你的python基础就差不多了!干货【2】

运算符 3.1 算数运算符 是完成基本的算术运算使用的符号,用来处理四则运算,而“+”和“*”还可以用来处理字符串。 3.2 比较(关系)运算符 Python 2.x 中判断 不等于 还可以使用 <> 运算符...

糖宝lsh
2018/11/06
42
0
初识 Python: global 关键字

在读这篇文章之前,确保你对 Python 全局、本地和非本地变量 有一定的基础。 global 关键字简介 在 Python 中, 关键字允许你修改当前范围之外的变量。它用于创建全局变量并在本地上下文中更...

作者: Programiz
2018/04/19
0
0
SWIG入门4: C/C++初级特性2

1 structure 我看来,structure乃是封装之源。SWIG对于strucure的封装非常自然。自然的意思就是,C语言里怎么用PYTHON就怎么用。水里水里来,火里火里去。不过第一个问题就是,PYTHON作为面向...

costaxu
2012/08/18
1K
1
Python36讲零基础速成班

主办方: 有用教育(上海荣隆教育科技有限公司)是一家专业培养资深IT工程师并让学员高薪就业、专注于Python开发、AI人工智能的教育机构,公司总部设立在上海,为IT人员提供到岗即用式的实战培...

有用教育
05/08
4
0

没有更多内容

加载失败,请刷新页面

加载更多

《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
6
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0
OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
1K
11
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部