当前位置: 移动技术网 > IT编程>脚本编程>Python > 变量与递归函数(第五天)

变量与递归函数(第五天)

2019年01月10日  | 移动技术网IT编程  | 我要评论

万州房市网,超声波灭鼠器,大兔子病了二兔子瞧

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网