变量与递归函数(第五天)
程序员文章站
2024-01-19 12:44:52
2019-01-09 经过了十天左右的休息,重新开始学习玩蛇 变量与递归函数: 1.局部变量和全局变量: 当局部变量与全局变量同名时,在定义局部变量的子程序内,局部变量起作用,在其他地方全局变量起作用。 global可以在函数中获取全局变量,变量本质上就是全局变量,可读取可赋值;如果函数的内容无gl ......
2019-01-09
经过了十天左右的休息,重新开始学习玩蛇
变量与递归函数:
1.局部变量和全局变量:
当局部变量与全局变量同名时,在定义局部变量的子程序内,局部变量起作用,在其他地方全局变量起作用。
global可以在函数中获取全局变量,变量本质上就是全局变量,可读取可赋值;如果函数的内容无global关键字,优先读取全局变量,只能读取全局变量,无法对全局变量重新赋值,可是对于可变类型,可以对内部元素进行操作
name =["wcb","lyn"] def home(): name.append("baby") print(name) home() print(name) 结果为: ['wcb', 'lyn', 'baby'] ['wcb', 'lyn', 'baby']
name ="wcb" def home(): name = "wcb" def homehome(): nonlocal name #nonlocal,指定上一级变量 name = "lyn" homehome() print(name) print(name) home() print(name) 结果为: wcb lyn wcb
2.递归:
1.必须有一个明确的结束条件
2.每次进入更深一层递归时,问题规模相比上次递归都应有所减少
3.递归效率不高,递归层次过多会导致栈溢出
3.匿名函数:
lambda 形参:处理逻辑
函数名 = lambda 形参:处理逻辑
函数名()
func = lambda x:x+1 print(func(10))
func1 = lambda x,y,z:(x+1,y+1,z+1) print(func1(1,2,3)) func = lambda x,y,z:x+1,y+1,z+1 #需要自己加括号 print(func(1,2,3))
2019-01-10 16:38:35
上一篇: Excel2007工作表中输入日期和时间
下一篇: swift-UIImageView帧动画