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

2019-01-11 08:35:38来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:20190110-用笨办法找到二维矩阵的鞍点

下一篇:用Python手把手教你搭建一个web框架-flask微框架!