44.作用域,局部和全局变量

局部变量:

在函数中定义一个变量,只在这个函数里生效,

这个函数就是这个变量的作用域。

全局变量的作用域是整个程序

局部变量改变全局变量。

global school

把school这个局部变量改为全局变量

最好不要用,全局变量不能在函数中定义

在函数内部,可以调用其他函数,如果一个函数在内部的调用自身,就是递归函数

必须有结束,

每进入一层,问题规模要比上次减少。

递归效率不高,

高阶函数,变量可以指向函数,函数的参数能接手变量,那么一个函数就可以接收另一个函数

作为参数,这种函数就叫做高阶函数

def add(a,b,f):

return f(a)+f(b)

res = add(3,-6.abs)

print(res)

把变量a,b作为参数再次调用

eval(b)  把字符串转换成Python数据格式 字典

时间: 03-01

44.作用域,局部和全局变量的相关文章

ABAP程序中的局部与全局变量

声明:原创作品,转载时请注明文章来自SAP师太博客,并以超链接形式标明文章原始出处,否则将追究法律责任!原文出自: 1.9.  ABAP程序中的局部与全局变量 报表程序中选择屏幕事件块(AT SELECTION-SCREEN)与逻辑数据库事件块.以及methods(类中的方法).subroutines(FORM子过程).function modules(Function函数)中声明的变量为局部的,即在这些块里声明的变量不能在其他块里使用,但这些局部变量可以覆盖同名的全局变量:除这些处理块外,其他

php中在局部作用域内访问全局变量

php中,由于作用域的限制,导致变量的访问限制: 1.局部作用域内不能访问全局变量 2.全局作用域内不能访问局部变量 对于第一种情况,如下代码将不能正常运行: <?php //局部作用域(函数内)使用全局变量 $a = 1;//在全局作用域内的变量 function test() { echo "a = {$a}<br />";//在局部作用域中访问全局作用域变量 } test(); /* 运行结果: Notice: Undefined variable: a in

作用域,局部和全局变量

全局与局部变量 在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序. 当全局变量与局部变量同名时: 在定义局部变量的子程序内,局部变量起作用:在其它地方全局变量起作用. 局部变量只在一个函数内生效.在函数内部定义的不会再其他函数生效. 如果把局部变量加上global.可以变成全局变量.(global 变量名)不建议使用.容易逻辑混乱. 函数对局部变量是一个作用域. 全局变量:在整个代码的顶层定义的变量,所有的函数

Python3学习之路~3.1 函数基本语法及特性、返回值、参数、局部与全局变量

1 函数基本语法及特性 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 语法定义: 1 def sayhi():#函数名 2 print("Hello, I'm nobody!") 3 4 sayhi() #调用函数 可以带参数 1 #下面这段代码 2 a,b = 5,8 3 c = a**b 4 print(c) 5 6 7 #改成用函数写 8 def calc(x,y)

39 py函数作用域递归函数 变量作用域局部函数 使用lambda

第十课:函数作用域 // python 中的嵌套函数 在一个函数中再定义一个函数 # 小结 : # 函数作用域:因为:python是动态语言,定义变量的时候是不需要指定变量类型的,这样的话,我们在使用或者定义变量的时候作用域会分不清 # 如果在函数中定义一个变量,而且变量名和该函数上一级的作用域中的变量名相同 # 那么在该函数使用该变量时,就会使用局部变量 # 如果在函数中使用一个变量,但该变量在函数中并没有定义,那么会到该函数上一层的作用域去寻找该变量,如果还没有找到,会继续到上一层作用域去寻

Shell变量的作用域:Shell全局变量、环境变量和局部变量

Shell 变量的作用域(Scope),就是 Shell 变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像 A 班有个叫小明的同学,B 班也有个叫小明的同学,虽然他们都叫小明(对应于变量名),但是由于所在的班级(对应于作用域)不同,所以不会造成混乱.但是如果同一个班级中有两个叫小明的同学,就必须用类似于“大小明”.“小小明”这样的命名来区分他们. Shell 变量的作用域可以分为三种: 有的变量只能在函数内部使用,这叫做局部变量(local variable)

javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量

定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body

变量作用域问题,全局变量污染

<script> function fun1(){ max = 5;//注意 此处max虽在函数内,但没var声明 } fun1(); //这里调用fun1()相当于在全局var了一个max变量 function fun2(){ max = 10;//此处更改了全局变量max,fun()1中的max也被更改,就是全局变量被污染.fun1()变量被污染的根源是因为他没保护好自己的变量max,如果函数内要声明被保护的变量必须加var,不可能在方法外改变方法内的变量,只能向上爬树 } fun2();

python基础(局部、全局变量、函数、文件的操作)

局部变量 可以用返回值全局变量如果一个函数有返回值,在没有调用函数之前 用这个变量保存的话,没有任何的意义global如果在局部变量中加入global 用来对一个全局变量的声明wendu = 0def test1():global wenduwendu = 33 def test2():print("%d"%wendu)#test1()test2() 结果为0 wendu = 0def test1():global wenduwendu = 33 def test2():print(&