3. 函数基础一

本文深入介绍了Python函数的基础知识,包括函数的定义、调用过程、形参与实参的使用,以及不定长参数和关键字参数的处理。强调了函数封装的意义,如何设置默认值和指定返回值类型,并提供了详细的函数说明文档格式。此外,还讨论了函数调用时的执行步骤,帮助读者理解函数的工作原理。
摘要由CSDN通过智能技术生成

函数基础

不重要 – 函数的意义:减少重复工作
  • 函数定义:函数就是实现某一特定功能的封装

  • 什么时候用函数:一个功能需要反复调用时

  • 函数制作时的核心思想:

    1. 将每个函数都应该封装成一个实现某个特定功能,完全独立的功能块
    2. 学习风向标,已经封装好的max,min等内部的BIF
  • 函数分类:系统函数(BIF)和自定义函数

一、定义和调用函数

  1. 语法
    def 函数名(形参列表):
    函数说明文档
    函数体
    函数名(实参列表)
  2. 各部分的逐一解释:
    1. 函数名:和变量命名要求相同

      • 硬性要求:
        1. 字母数字下划线开头,数字不能开头
        2. 不能是关键字
      • 美观要求:
        3. 见名知意(功能)
        4. 小写字母,多个用下划线隔开
    2. 形参列表:

      1. =号

        1. 功能:设置默认值
        2. 举例:‘def func1(num1=100,num2=100):’
        3. 注意:
          • 形参有默认值时,可以不传实参。
          • 如果同时有没有默认值和有哦认值的在形参里,把有默认值的放后面
      2. :号

        1. 功能:说明形参数据类型
        2. 举例:‘def func1(num1:str,num2=[1,2,3]):’
        3. 注意:没有默认值时,加:数据类型;有默认值时,默认值就是该形参的数据类型
      3. *号+形参

        1. 功能:不定长参数,用来解决输入参数个数不确定的情况
        2. 举例:‘def sumN(*nums):’
        3. 注意:
          1. 函数体中直接使用nums就行,不带*号
          2. 函数体中的nums的数据类型是元组
          3. 如果不定长形式参数后面还有形参,那这个形参在传参的时候必须使用关键字传参,不然不知道什么时候结束。
      4. 单个*号

        1. 功能:本身无意义,代表后面的所有参数必须使用关键字参数进行传参,也即是在实参的位置
        2. 举例:‘def sumN(a,*,b,c):’
      5. ->号

        1. 功能:提醒返回值类型
        2. 举例:‘def sumN(a,b,c) ->int:’
    3. 函数说明文档:多行注释

      • 格式:
        1. 第一行:功能说明区
        2. 第二行:参数说明区(即输入格式及内容说明)
        3. 第三行:返回值说明区,函数最终的的产物及格式(即输出格式及内容说明)
    4. 实参列表:

      1. 其传参的方式分为两种:位置参数和关键字参数
        1. 位置参数:一一对应赋值给形参
        2. 关键字参数:通过等号让实参传递值给形参
      2. 当两者混用时,必须让关键字参数放后面。
        • 和形参默认值摆放一样,即有等号就必须放后面

二、函数调用过程

  1. 重要结论:定义函数不会执行函数体,调用时才会执行
  2. 每次在调用函数时,它的执行过程:
    • 第一步:调用,回到函数定义的位置
    • 第二步:传参(实参->形参)(传参必须保证每个形参都有值)
    • 第三步:执行函数体
    • 第四步:确定函数返回值
    • 第五步:返回,回到函数调用的位置,接着往后执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值