lambda参数1,参数2… :返回值
print((lambda x,y,z:x+y+z)(1,2,3))递归函数程序调用自身的编程技巧称为递归( recursion)。#使用递归方法实现5!def func(n):ifn== 1 orn== 0:return 1else:return n * func(n-1)? print(func(5))递归函数优缺点递归函数的优点就是定义简单,逻辑清楚。缺点是递归效率不高,因为每一次调用都有相应的数值存放在栈,而栈的空间是有限的因此在写函数时候要注意不可无限递归或者递归次数非常大递归函数要求输入- -个数字表示是第几个数字,正确输出第n个斐波那契数def fun(n):ifn<0:print('输入有误! ‘)elifn== 1orn== 2:return 1else:return fun(n-1) + fun(n-2)print(fun(6))生成器函数我们之前学过元组生成器.(i for i in range(10))yield语句的函数也可以用来创建生成器对象.每次执行到yield语 句并返回-一个值之后会暂停或挂起后面代码的执行下次通过生成器对象的_ next _()方法、 内置函数next()、for循环遍历生成器对象元素或其他方式显式“索要”数据时恢复执行。生成器-斐波那契def f():a,b=1,1while True:yielda # 暂停执行,需要时再产生- -个新元素a,b=b,a+b # 继续生成新元素a= f()for iin range(10):print(next(a), end=’ ')
第一次作业
最新推荐文章于 2021-01-29 11:37:15 发布