说明:i 和foo()都为全局变量,i 是在模块文件顶层注册的,所以为全局变量,他能够在函数内部进行引用而不需要再特意声明是全局变量,且foo()函数也是全局变量

1.当没有局部变量时,print(i,'in foo()'),根据LEGB规则,打印的是全局变量;print(i,'global')也是全局变量

如下

i = 1
def foo():
print(i,'in foo()') #局部变量
print(i,'global') #全局变量
foo()
print(i,'未定义') #输出
1 global
1 in foo()
1

2.当设置局部变量时,print(i,'in foo()') 打印局部变量,print(i,'global'),打印全局变量,print(i,'未定义'),打印全局变量 1

i = 1
def foo():
i=5
print(i,'in foo()') #局部变量
print(i,'global') #全局变量
foo()
print(i,'未定义') #输出
1 global
5 in foo()
1 未定义

3.当把局部变量设置成global 全局变量时,print(i,'in foo()'),打印的还是局部变量,print(i,'global'),没有变量,始终是def 之前定义的变量i=1;

print(i,'未定义'),根据LEGB 规则,寻找全局变量,因全局变量设置为i =5,打印出来也是5

i = 1
def foo():
global i
i=5
print(i,'in foo()') #局部变量
print(i,'global') #全局变量
foo()
print(i,'未定义') #输出
1 global
5 in foo()
5 未定义

global 全局变量的用法的更多相关文章

  1. Node入门教程(5)第四章:global 全局变量

    global - 全局变量 全局对象(global object),不要和 全局的对象( global objects )或称标准内置对象混淆.这里说的全局的对象是说在全局作用域里的内的对象.全局作用 ...

  2. 《c语言全局变量的用法》

    //全局变量的用法. /*有一个一维数组,内放n个学生的成绩,(n由用户自己指定,通过调用函数实现定义一个数组.)写一个函数,当主函数调用此函数后,能求出平均分,最高分,最低分.*/ #include ...

  3. PHP:global全局变量的使用

    global全局变量能够让我们更好的去运用,直接上例子: 1.一个函数,获取函数外的内容: 得到的结果: 2.两个函数,函数2获取函数1的全局变量内容:(重点) 结果: 以上就是我的总结啦 END

  4. PHP中global全局变量的使用

    在方法里面想用外面的变量,可以声明这个变量为全局变量. $a=1; $b=2; test_global(); function test_global() { global $a,$b; echo $ ...

  5. python中global和nonlocal用法的详细说明

    一.global 1.global关键字用来在函数或其他局部作用域中使用全局变量.但是如果不修改全局变量也可以不使用global关键字.   gcount = 0 def global_test(): ...

  6. global 全局变量 nonlocal 局部变量

    # x= # def func(): # x= # # func() # print(x) # x=[] # def func(): # x.append() # x.append() # x.app ...

  7. python做中学(一)全局变量的用法

    一段时间没有使用python来写代码,就发现以前学习的很多语法都忘了.看来还是当初这方面的项目做的好不够多,没有系统性的运用和学习,导致了很多语法不能顺手拈来.在接下来的这个项目中, 一定要把遇到的一 ...

  8. python global 全局变量

    http://blog.csdn.net/mldxs/article/details/8559973 __author__ = 'dell' def func(): global x print 'x ...

  9. robot framework 上个用例的输出作为下个用例的输入 (Set Global Variable的用法)

    变量的作用域 通常情况下,每个变量默认都是局部变量. 一个case里的变量,作用域在这个case内部: 一个userkeyword里的变量,作用域在这个userkeyword内部: 一个文件型suit ...

随机推荐

  1. Spring Cloud Stream介绍-Spring Cloud学习第八天(非原创)

    文章大纲 一.什么是Spring Cloud Stream二.Spring Cloud Stream使用介绍三.Spring Cloud Stream使用细节四.参考文章 一.什么是Spring Cl ...

  2. - > 动规讲解基础讲解六——编辑距离问题

    给定两个字符串S和T,对于T我们允许三种操作: (1) 在任意位置添加任意字符(2) 删除存在的任意字符(3) 修改任意字符 问最少操作多少次可以把字符串T变成S?  例如: S=  “ABCF”   ...

  3. fauxbar.bak

    {"options": { "almostdone":"0", "backup_searchEngines":" ...

  4. 常用 linux操作

    查看libreoffice进程 ps -ef | grep libreoffice

  5. flask的httponly默认值为True

    如图flask的app.py里显示app的默认配置,httponly默认值为true,所以如果开发者不修改这个配置的话,攻击者是无法通过xss攻击读取浏览器cookie这部分信息的. Cookie:s ...

  6. DotnetBrowser入门教程-(2)启动简单的Web服务

    微软的网页服务向来与IIS捆绑紧密,虽然.net core可以脱离iis了,但是基于国内的xp系统,.net core类库的精简,使得我们仍然在dotnetbrowser增加了对web服务的支持. 先 ...

  7. POJ 3254 Corn Fields 状态压缩

    这题对我真的非常难.实在做不出来,就去百度了,搜到了一种状压DP的方法.这是第一种 详细见凝视 #include <cstdio> #include <cstring> #in ...

  8. Testin云測手游质量管家 七大兵器助CP称霸江湖

    Testin云測手游质量管家 七大兵器助CP称霸江湖 2014/09/29 · Testin · 产品评測 在武侠江湖里,高手不须要武功高强.亦要具备厉害的武器.有人的地方就有江湖.手游行业相同腥风血 ...

  9. Solidworks拖动装配体的时候物资动力有什么用

    Solidworks物资动力就是模拟真实的场景,你在拖动或旋转零件的时候会和周围的零件碰撞,有相互力的作用. 1 标准拖动   2 碰撞检查   3 选择物资动力(零件上面的黑白相间小圆表示物体重心) ...

  10. UNP学习笔记(第二十六章 线程)

    线程有时称为轻权进程(lightweight process) 同一进程内的所有线程共享相同的全局内存.这使得线程之间易于共享信息,然后这样也会带来同步的问题 同一进程内的所有线程处理共享全局变量外还 ...