美文网首页
无标题文章

无标题文章

作者: 不浪漫的浪漫_ea03 | 来源:发表于2017-06-10 11:52 被阅读0次

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

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/dqiqqxtx.html