为了账号安全,请及时绑定邮箱和手机立即绑定

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

标签:
Python

课程名称: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++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。


打卡截图:

https://img2.sycdn.imooc.com/6325bdf700010c3806830458.jpg


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消