Python全局变量操作详解

yipeiwu_com6年前Python基础

接触Python时间不长,对有些知识点,掌握的不是很扎实,我个人比较崇尚不管学习什么东西,首先一定回去把基础打的非常扎实了,再往高处走。今天遇到了Python中的全局变量的相关操作,遇到了问题,所以,在这里将自己遇到的问题,做个记录,以长记心!!!

在Python中使用全局变量,其实,个人认为并不是很明智的选择;但是自己还是坚信,存在便合理,在于你怎么使用;全局变量降低了模块和函数之间的通用性;所以,在以后的编程过程中,应尽量避免使用全局变量。

全局变量的使用:

方法一:

为了便于代码管理,将全局变量统一放到一个模块中,然后在使用全局变量的时候,导入全局变量模块,通过这种方法来进行使用全局变量;
在一个模块中定义全局变量:

复制代码 代码如下:

#global.py 
GLOBAL_1 = 1 
GLOBAL_2 = 2 
GLOBAL_3 = 'Hello World' 

然后在一个模块中导入全局变量定义模块,在新模块中使用全局变量:
复制代码 代码如下:

import globalValues 
 
def printGlobal(): 
    print(globalValues.GLOBAL_1) 
    print(globalValues.GLOBAL_3) 
    globalValues.GLOBAL_2 += 1 # modify values 
 
if __name__ == '__main__': 
    printGlobal() 
    print(globalValues.GLOBAL_2) 

方法二:

直接在模块中定义全局变量,然后在函数中直接使用就ok了。但是在使用全局变量的时候,必须在函数中使用global关键字进行标识:

复制代码 代码如下:

CONSTANT = 0 
 
def modifyGlobal(): 
    global CONSTANT 
    print(CONSTANT) 
    CONSTANT += 1 
 
if __name__ == '__main__': 
    modifyGlobal() 
    print(CONSTANT) 

讲解完毕!!!

相关文章

TensorFlow搭建神经网络最佳实践

一、TensorFLow完整样例 在MNIST数据集上,搭建一个简单神经网络结构,一个包含ReLU单元的非线性化处理的两层神经网络。在训练神经网络的时候,使用带指数衰减的学习率设置、使用...

python之DataFrame实现excel合并单元格

python之DataFrame实现excel合并单元格

在工作中经常遇到需要将数据输出到excel,且需要对其中一些单元格进行合并,比如如下表表格,需要根据A列的值,合并B、C列的对应单元格 pandas中的to_excel方法只能对索引进...

详解PyTorch手写数字识别(MNIST数据集)

详解PyTorch手写数字识别(MNIST数据集)

MNIST 手写数字识别是一个比较简单的入门项目,相当于深度学习中的 Hello World,可以让我们快速了解构建神经网络的大致过程。虽然网上的案例比较多,但还是要自己实现一遍。代码采...

Python数据类型中的“冒号“[::]——分片与步长操作示例

Python数据类型中的“冒号“[::]——分片与步长操作示例

本文实例讲述了Python数据类型中的“冒号“[::]——分片与步长操作。分享给大家供大家参考,具体如下: 例如有如下字符串: string = "welcome to jb51^_...

python框架django项目部署相关知识详解

python框架django项目部署相关知识详解

这篇文章主要介绍了python框架django项目部署相关知识详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一:项目部署的框架...