继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第十三天 Python的函数

筱阿书
关注TA
已关注
手记 15
粉丝 0
获赞 11

课程名称:Python3 入门教程(新版)

章节名称: 第9章 Python的函数

讲师姓名:咚咚呛


课程内容:

函数:就是将做一件事情的步骤封装起来。比如之前的一些内置函数print

自定义函数:通过关键字def定义

def name(args):

    to do something

    返回值

def print_hello():

    print(“hello”)

return只能在函数体中用,对函数结果的返回。


函数的参数:

必须传递参数:如果没有定义参数的默认值,在调用函数的时候会报错。比如add(a,b)

默认参数:当这个参数没有传递的时候,参数就使用定义时的默认值。

def power(x, n=2):
    s = 1
    while n > 0:
        n = n - 1
        s = s * x
    return s
 power(5) # ==> 25

可变参数:可变参数即任意个参数的意思,可变参数通常使用*args来表示。

def average(*args):
    sum = 0
    for item in args:
        sum += item
    avg = sum / len(args)
    return avg
average(1, 2) # ==> 1.5
average(1, 2, 2, 3, 4) # ==> 2.4

递归函数:在函数内部调用自身就是递归函数,经典的例子阶乘。

def fact(n):
    if n==1:
        return 1
    return n * fact(n - 1)
fact(1) # ==> 1
fact(5) # ==> 120

学习收获:

递归函数在n值很大的时候要慎用,影响性能。默认/可变/递归函数的语法要熟记,在编写代码的时候

比较简洁。

代码要做到经常练习。

在学其他语言的时候lambda非常重要!!!python中lambda只是一个表达式,函数体比def简单很多。

lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。

lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。

虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。


打卡截图:

http://img2.mukewang.com/6325bdf700010c3806830458.jpg


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP