无标题文章

2017-06-10  本文已影响0人  不浪漫的浪漫_ea03

.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(取全局变量才可以)

上一篇 下一篇

猜你喜欢

热点阅读