Python中的全局变量操作

http://blog.csdn.net/vipygd/article/details/7797778 


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

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

全局变量的使用:

方法一:

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

在一个模块中定义全局变量:

[python]  view plain copy print ?
  1. #global.py  
  2. GLOBAL_1 = 1  
  3. GLOBAL_2 = 2  
  4. GLOBAL_3 = 'Hello World'  

然后在一个模块中导入全局变量定义模块,在新模块中使用全局变量:

[python]  view plain copy print ?
  1. import globalValues  
  2.   
  3. def printGlobal():  
  4.     print(globalValues.GLOBAL_1)  
  5.     print(globalValues.GLOBAL_3)  
  6.     globalValues.GLOBAL_2 += 1 # modify values  
  7.   
  8. if __name__ == '__main__':  
  9.     printGlobal()  
  10.     print(globalValues.GLOBAL_2)  

 

方法二:

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

[python]  view plain copy print ?
  1. CONSTANT = 0  
  2.   
  3. def modifyGlobal():  
  4.     global CONSTANT  
  5.     print(CONSTANT)  
  6.     CONSTANT += 1  
  7.   
  8. if __name__ == '__main__':  
  9.     modifyGlobal()  
  10.     print(CONSTANT)  

讲解完毕!!!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python 全局变量可以在函数内部和外部使用,但是在函数内部如果要修改全局变量的值,需要使用 global 关键字声明。例如: ``` count = def increment(): global count count += 1 increment() print(count) # 输出 1 ``` 在函数内部使用 global 关键字声明后,就可以修改全局变量的值了。 ### 回答2: Python全局变量是在函数外部声明的变量,在整个程序都可以访问和使用。在函数内部可以通过`global`关键字将局部变量声明为全局变量全局变量的用法有以下几点: 1. 全局作用域:全局变量在程序的整个生命周期都存在,可以在程序的任何地方使用。这样可以方便地在不同的函数共享数据。 2. 避免重复赋值:全局变量可以在函数外部进行初始化,然后在函数内部进行修改和使用。这样可以避免在函数内部重复赋值相同的变量。 3. 方便调试和修改:全局变量可以在函数之间共享数据,方便调试和修改。例如,可以在一个函数初始化全局变量,然后在另一个函数修改它,以达到不同函数之间的信息传递和共享。 4. 减少参数传递:全局变量可以避免频繁的参数传递,减少代码的复杂性。例如,可以将一些常用的参数赋值给全局变量,然后在函数直接使用。 虽然全局变量有一些方便之处,但同时也需要注意一些问题: 1. 命名冲突:由于全局变量在整个程序都可以访问,因此需要注意避免命名冲突。最好使用有意义的变量名,以避免与其他全局变量或局部变量重名。 2. 可变对象的问题:如果全局变量是可变对象(如列表或字典),在函数内部对该对象的修改会影响到全局范围内的变量。因此,在修改全局变量时需要小心操作,避免出现意外的副作用。 总之,全局变量Python一种方便的数据共享和跨函数传递数据的方式。在使用时需要注意避免命名冲突和正确处理可变对象的修改。 ### 回答3: 在Python全局变量是在函数外部定义的变量,可以在整个程序访问和使用。全局变量在函数内部和外部都可以被引用和修改,但需要注意全局变量的作用域和作用范围问题。 全局变量的主要用途如下: 1. 在不同的函数共享数据:全局变量可以在程序的不同函数共享数据,避免了重复定义和传递参数的麻烦。例如,可以在一个函数定义一个全局变量,然后在另一个函数引用和修改该变量的值。 2. 减少内存消耗和运行时间:在函数内部如果多次使用相同的值,可以将其定义为全局变量,可以避免重复计算和内存空间的浪费。 3. 方便跨模块访问数据:全局变量可以在不同的模块进行访问,可以方便地跨模块共享数据。 然而,在使用全局变量时需要注意以下几点: 1. 全局变量容易被修改:全局变量可以在程序的不同位置进行修改,可能会导致意外的结果和出错。因此,在使用全局变量时需要慎重考虑,避免滥用。 2. 使用global关键字:在函数内部如果要修改全局变量的值,需要使用global关键字进行声明,否则Python会将其视为局部变量。使用global关键字可以允许在函数内部对全局变量进行赋值和修改。 总之,全局变量Python是可以在整个程序访问和修改的变量,它能够实现在不同的函数和模块共享数据的目的。使用全局变量可以简化程序的逻辑、减少重复计算和内存消耗,但在使用时需要注意变量的作用域和修改的规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值