全局变量与局部变量两者的本质区别就是在于作用域,全局变量即在整个程序中,任何地方都可以访问。而局部变量,试着在函数内部声明的变量,当函数运行结束时,局部变量就会被内存释放。

例子:

1 name='zs'
2 def change():
3      name='ls'
4      change()
5 print(name)   #输出为:’zs'  函数内的name是一个局部变量,函数运行结束即消失

如果要修改全局变量,要在函数内部用关键字global声明。

1 name='zs'
2 def change():
3     global name
4     name='ls'
5 change()
6 print(name)     #输出为 ls   

其实局部变量是有层次的,如果出现函数的嵌套,内层函数想调用外层的变量是,是不能用global声明的,因为外层的变量不叫全局变量。这时候如果想修改外层的变量,就得用到一个新的关键字:nonlocal

#强行使用global变量会报错,下面代码可以自己运行试试def fun():a = 3def fun2():global aa*= 2print(a)return fun2()
fun()       

如果使用nonlocal就可以完美解决:

 1 def fun():
 2     a = 3
 3
 4     def fun2():
 5         nonlocal a
 6         a*= 2
 7         print(a)
 8
 9     return fun2()
10 fun()           #输出 6

转载于:https://www.cnblogs.com/linshuhui/p/8977756.html

python中的全局变量与局部变量相关推荐

  1. 在python中、关于全局变量和局部变量_在Python中,关于全局变量和局部变量,以下选项中描述不正确的是...

    [单选题]Python文本处理方向的第三方库是 [单选题]哪个选项的描述是正确的? [单选题]以下选项中属于Python语言中合法的二进制整数是 [单选题]以下说法错误的是: [单选题]下面属于B2B ...

  2. Python中的全局变量与局部变量2

    from math import * import pandas as pd import numpy as np import matplotlib.pyplot as plt########### ...

  3. python中的全局变量和局部变量

    加上  global : 表示声明要修改全局变量的内存地址.

  4. python获取程序文件中的全局变量和局部变量的函数

    目录 global()和locals()函数 (一)演示示例 (二)程序执行结果 (三)简单使用 (四)参考资料 global()和locals()函数 使用global()可以获取Python中的全 ...

  5. 全局变量_Python函数中的全局变量与局部变量

    # a,b变量是全局变量,在整个py文件中都可以访问 a = 11 b = 12 # 定义一个函数 def first(): # 这个变量是函数内部定义的变量,属于局部变量,只能在函数中使用 c = ...

  6. Python中的全局变量

    在本文章中,我们来讨论一下python中的全局变量,我们将学习如何定义全局变量,然后如何在函数中访问它们,以及如何在函数中修改全局变量的值. 全局变量: python的代码结构一般按照shebang. ...

  7. python函数的 全局变量与局部变量

    一.函数的全局变量 1.什么是全局变量 顶着头开始写,没有任何缩进,在py文件的任何位置都能调用 #!/usr/bin/env python # _*_ coding:utf8 _*_ name=&q ...

  8. 函数体中的全局变量与局部变量

    首先看一道笔试题: 1 var a = 100; 2 function testResult(){ 3 var b = 2 * a; 4 var a = 200; 5 var c = a / 2; 6 ...

  9. [转载] 在python中、关于全局变量和局部变量、以下_python中的全局变量和局部变量

    参考链接: Python全局,局部和非局部变量 1. 使用局部变量 deffunc(x): print'x is', x x =2 print'Changed local x to', x x =50 ...

最新文章

  1. Hadoop 学习总结之一:HDFS简介(转载)
  2. 直播预告丨行业大咖带你找到游戏企业经营新升级的正确打开方式
  3. php au著h权限管理,Jirafeau:一个简洁的临时文件分享系统,可随时删除
  4. 收集42款经典的Chrome 插件
  5. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
  6. 激光雷达lidar标定
  7. Git来回切换版本的时候,pom文件变黄,每次都需要重新添加到maven以及修改后文件不生效的解决方法
  8. 12月Java原生商城APP源码-完全开源
  9. 巨量创意signature
  10. 2017企业咨询服务公司排行榜
  11. 转:马明哲:拥有执行力才能让你强大
  12. html混淆压缩,JavaScript的压缩和混淆
  13. Excel中用REPT函数制作图表
  14. 超实用!网站导航栏设计方法总结
  15. python之路_面向对象
  16. 培训机构让考java证书有必要吗在线等
  17. SQL命令讲解(二)
  18. PyG搭建GAT实现节点分类
  19. 阿里巴巴B2B主要股东
  20. 64位windows10安装Sql server 2000

热门文章

  1. 最新!压缩为rar格式方法,目前只能用:WinRAR压缩工具-rar压缩格式的版权所有者。
  2. 模拟电路技术之基础知识(八)
  3. matlab中 bsxfun函数
  4. Building an MFC project for a non-Unicode character set is deprecated
  5. nginx php mysql分离,详解nginx、php-fpm和mysql用户权限
  6. mysql数据库表格怎么建立_mysql数据库表格怎么建立
  7. JavaScript装饰器模式
  8. (一)图像和图像工程
  9. 记一次事务报错问题 Transaction synchronization is not active
  10. C#操作NPOI插件的HSSFWorkBook,常见的那些坑