17、函数

作者: 魔方宫殿 | 来源:发表于2022-03-31 22:52 被阅读0次

    上集回顾:

    1. 列表推导式的一般形式
    2. 列表推导式的复杂表达式

    Life is short, you need Python!

    前面小P已经稍微了解了一下函数。本集来详细学习下Python函数。

    一、定义
    函数可以理解为一个有名字的代码片段,函数定义完成以后,想要执行这个代码片段,直接调用函数名就可以了,不用每次都要把整个代码片段重新编写一次。例如:

    >>> def print3Line() :
    ...   print("line 1 ----------")
    ...   print("line 2 ----------")
    ...   print("line 3 ----------")
    ...
    >>> print3Line()
    line 1 ----------
    line 2 ----------
    line 3 ----------
    >>> print3Line()
    line 1 ----------
    line 2 ----------
    line 3 ----------
    

    二、参数
    可以传递给函数一个值,让他按这些值做一些事情。这些值就是叫做参数,定义函数时用的参数名称叫做形参,实际调用时传递的值叫实参。例如:

    >>> def printLines(n) :
    ...   for i in range(n) :
    ...     print("line", i, "------------------")
    ...
    >>> printLines(1)
    line 0 ------------------
    >>> printLines(3)
    line 0 ------------------
    line 1 ------------------
    line 2 ------------------
    

    三、返回值
    函数执行完成以后,可以把结果返回出来,这个结果叫做返回值。例如:

    >>> def add(x, y) :
    ...   return x + y
    ...
    >>> add(5, 10)
    15
    >>> add(1, 3)
    4
    

    四、默认值参数
    有些参数可能大部分情况都是一个值,特殊情况下才是不同的值,这时就可以使用默认值参数,调用时如果使用默认值就可以省略这个参数,不使用默认值时才需要传入参数。比如PI值大部分取3.14,偶尔可能用更高的精度:

    >>> def mulPi(n, pi = 3.14) :
    ...   return n * pi
    ...
    >>> mulPi(1)
    3.14
    >>> mulPi(3)
    9.42
    >>> mulPi(3, 3.1416)
    9.4248
    

    五、关键字参数
    有了默认值参数以后,调用确实方便灵活了很多,但是如果有多个默认值参数,例如:f(a=1, b=2, c=3, d=4),此时如果调用时不使用d的默认值怎么办呢?直接用f(5)修改的会是参数a。此时就要指名道姓,想修改谁就直接指出名字,例如f(d=5),这就是关键字参数。举个例子:

    >>> def f(a=1, b=2, c=3) :
    ...   print("a =", a, "b =", b, "c =", c)
    ...
    >>> f()
    a = 1 b = 2 c = 3
    >>> f(5)
    a = 5 b = 2 c = 3
    >>> f(c=5)
    a = 1 b = 2 c = 5
    

    六、别名
    函数定义完成以后,如果仅仅想给函数改名字,可以把函数名赋值给新的函数名就行了,不用重新定义函数。例如:

    >>> def longNameFunction() :
    ...   print("lalala-------------")
    ...
    >>> longNameFunction()
    lalala-------------
    >>> newName = longNameFunction
    >>> newName
    <function longNameFunction at 0x7f75b74d77b8>
    >>> newName()
    lalala-------------
    >>> longNameFunction()
    lalala-------------
    

    本集总结:

    1. 函数定义
    2. 函数参数
    3. 函数返回值
    4. 默认值参数
    5. 关键字参数
    6. 函数别名

    下集见

    相关文章

      网友评论

        本文标题:17、函数

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