美文网首页
菜鸟Python笔记-基础篇07:函数(三)

菜鸟Python笔记-基础篇07:函数(三)

作者: 阿孝不会飞 | 来源:发表于2018-08-25 21:30 被阅读0次

    一、递归函数

    <1>什么是递归函数

    通过前面的学习知道一个函数可以调用其他函数。

    如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。

    <2>递归函数的作用

    举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n

    解决办法1:


    计算阶乘

    看阶乘的规律:

    1! = 1
    2! = 2 × 1 = 2 × 1!
    3! = 3 × 2 × 1 = 3 × 2!
    4! = 4 × 3 × 2 × 1 = 4 × 3!
    ...
    n! = n × (n-1)!
    

    解决办法2:


    递归函数

    原理:


    image

    二、匿名函数

    用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。

    lambda函数的语法只包含一个语句,如下:

    lambda [arg1 [,arg2,.....argn]]:expression
    

    如下实例:

    sum = lambda arg1, arg2: arg1 + arg2
    
    # 调用sum函数
    print("Value of total : " % sum( 10, 20 ))
    print("Value of total :  "% sum( 20, 20 ))
    

    以上实例输出结果:

    Value of total :  30
    Value of total :  40
    

    总结:

    • Lambda函数能接收任何数量的参数但只能返回一个表达式的值
    • 匿名函数不能直接调用print,因为lambda需要一个表达式

    三、列表推导式

    所谓的列表推导式,就是指的轻量级循环创建列表

    1. 基本的方式

    image

    2. 在循环的过程中使用if

    image

    3. 2个for循环

    image

    4. 3个for循环

    image

    四、set、list、tuple

    使用set,可以快速的完成对list中的元素去重复的功能

    set是集合类型

    image

    set、list、tuple之间可以相互转换

    image

    相关文章

      网友评论

          本文标题:菜鸟Python笔记-基础篇07:函数(三)

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