很好理解,global语句是为了声明在函数内定义的一个变量不是局部的而是全局的。
#-*-coding=gbk
def gl(x):
print x# 第一次输出时使用形参变量x = 1
x = 0# 为x赋值 x = 0(局部)
print x# 此时输出局部变量
x = 1
gl(x)
print x# 验证函数外主块中x没受影响
输出:
>>>
1
0
1
#-*-coding=gbk
def gl():
global x# 声明x变量不是局部的,而是全局的
print x
x = 0
print x
x = 1
gl()
print x
输出:
1
0
0
下面是《python核心编程》里的例子:
#-*-coding=gbk
is_this_global = 'xyz'
def foo():
global is_this_global
this_is_local = 'abc'
is_this_global = 'def'
print this_is_local + is_this_global
foo()
print is_this_global# 这里验证is_this_global得到的是函数内赋值的def
输出:
>>>
abcdef
def
分享到:
相关推荐
global是Python中的一个关键字用来,声明一个局部变量为全局变量,这里我们来以实例讲解Python中global语句下全局变量的值的修改,需要的朋友可以参考下.
复制代码 代码如下: <?... include ‘b.inc’ ; ?> 这里变量 $a 将会在包含文件 b.inc 中生效。但是,在用户自定义函数中,一个局部... 这个脚本不会有任何输出,因为 echo 语句引用了一个局部版本的变量 $a ,而且
全局变量 和 局部变量 globals() / locals() 函数变量 def 函数名(...): pass 函数可以作为参数传递 函数可以作为返回值返回 函数的嵌套定义 python 作用域 局部作用域 外部嵌套函数作用域 模块级的...
变量是拥有匹配对象的名字(标识符)。...因此,如果要给全局变量在一个函数里赋值,必须使用global语句。 global VarName的表达式会告诉Python, VarName是一个全局变量,这样Python就不会在局部命名空间里寻找
函数中对变量的赋值,变量始终绑定到该函数的局部命名空间,使用global 语句可以改变这种行为。 >>> a 10 >>> def foo(): ... global a ... a = 100 ... >>> a 10 >>> foo() >>> a 100 解析名称时首先检查局部...
lobal 在函数内访问全局变量 static 函数完成/执行后,不删除某个局部变量 echo 和 print 语句 echo – 能够输出一个以上的字符串 print – 只输出一个字符串,并且始终返回1 echo 是一个语言结构,有无括号均可使用...
(三)全局变量 66 (四)global 语句 67 (五)nonlocal 语句(外部嵌套) 67 第二章 面向对象 Object Oriented 68 一 概述 68 (一)面向过程 68 (二)面向对象 68 二 类和对象 69 (一)语法 70 (二)实例成员 72 (三...
全局变量和局部变量: 栈帧(stack frame): 函数出口:return语句 lambda表达式: 递归函数: 嵌套函数: nonlocal和global: LEGB规则: 函数其它小用法: 函数是Python中重要的组成部分,它可以将代码封装...
相对于C/C++来说,ECMAScript里的for...“不是变量”并不是说它不能被改变,而是指它不符合ECMAScript规范中的变量概念,所以它“不是变量”(它之所以能成为全局对象的属性,完全是因为javascript中存在一个global对象
嵌套作用域变量搜索规则:当在函数中引用一个变量时,JS会搜索当前函数作用域,如果没有找到则搜索其上层作用域,一直到全局作用域。 var value = 'global'; var f1 = function(){ console.log
For loop control variable must be simple local variable FOR循环控制变量必须为简单局部变量 For loop control variable must have ordinal type FOR循环控制变量必须为序数类型 FOR or WHILE loop executes zero...
所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; // 全局范围 function test() { global $g_var; // 这样...
第五章 变量和常量 .44 5.1 变 量 .44 5.2 常 量 .46 5.3 小 结 .47 第六章 类 型 转 换 .48 6.1 隐式类型转换 .48 6.2 显式类型转换 .53 6.3 小 结 .56 第七章 表 达 式 .58 7.1 操 作 符 .58 ...
这些指令显然是分支指令,作用类似于Java的switch语句,switch指令的语法结构如下: <#case refValue>... <#case refValue>... <#default>... 3、 list, break指令 list指令是一个迭代输出指令,用于迭代输出...
为此,LINGO为用户提供了两个可选部分:输入集成员和数据的数据部分(Data Section)和为决策变量设置初始值的初始部分(Init Section)。 3.1 模型的数据部分 3.1.1 数据部分入门 数据部分提供了模型相对静止部分...
前言...............................................................................................................................................................i 目录..................................
前言...............................................................................................................................................................i 目录..................................
学习ARM汇编指令的经典资料。 对ARM的各种汇编指令进行了深入全面的讲解,并给出了各种示例和详细注解,并且还对一些值得注意的点或是容易犯错误的地方进行了总结。 目录 前言......................................