.0递归函数
递归函数:需要满足三个条件
①需要有循环的内容
②需要有跳出的条件
③需要函数本身调用本身
举例求x!
代码如下
def hr(num):
if num<=1:
return 1
return num*hr(num-1)
num-=1
num=int(input('请输入一个数字:'))
print(hr(num))
2.0
匿名函数
就是省略了def声明,是附带返回值的,格式为lambda x:xxx
例如
def f(a,b): | def f(a,b):
return a+b |print(‘a’)
转换成匿名格式为|
f=lambda a,b:a+b | f=lambda a,b:print(‘a’)
3.0延伸内容
排序:
#sorted排序,key代表参数(默认值为None)
#lambda是匿名函数,n代表一个元组,reverse代表反过来排序,从大到小
#n[]代表具体到集合里面的下标,从而用特定的一个值来比较
lyp={'xiao':[1,2],'bing':[4,5],'kuai':['xn',9]}
print(sorted(lyp.items(),key=lambda n:n[1][1]))
print(sorted(lyp.items(),key=lambda n:n[0]))
print(sorted(lyp.items(),key=lambda n:n[1][1],reverse=True))
补充:字典’kuai’的值有一个是字符串,和1,4无法进行比较,会报错
4.0对于全局变量和局部变量的延伸
在全局中定义一个变量
当创建一个函数时如果函数里面没有定义变量,将会报错
例如:
num=1
def hr():
if num<10:
num+=1
return num
print(hr())
这种情况下就会报错,因为hr为一个函数,函数中num没有对应的变量,属于局部,需要在if上面加上global num(取全局变量才可以)
�