• python基础语法 - 函数


    What(是什么)

    • 首先,函数是什么?
    • 函数是带名字的代码块,用于完成具体的工作。
    • 函数是将代码裹起来的一种封装。
    • 函数具有函数名、参数、返回值。
    • 不同地方的函数:
      • 在模块之内,类之外的函数,称为函数。
      • 在别的函数中的函数,称为嵌套函数。
      • 在类里面的函数,称为方法。

    Why(为什么)

    • 为什么需要函数?
    • 用来解决代码重用的问题,即在程序中多次执行同一项任务时,无需反复编写完成该任务的代码,只需要调用执行该任务的函数即可。
    • 使用函数解决了代码重用的问题,代码可读性更高,提升编程的效率。

    How(怎么用)

    • 知道了是什么与为什么之后,来看看函数是怎么来用的。

    定义函数

    • 自定义函数的语法格式:
      在这里插入图片描述
    • 什么是形参?由于在定义函数的参数不是实际数据,会在调用函数的时候,传给它们实际数据,因此,定义函数是的参数是形式参数,简称形参。
    • 什么是实参?同理,调用函数的时候,传输的实际数据,就是实际参数,简称实参。
    • 形参类似一个空杯子,实参是水,定义函数功能为挪动水。整个流程为将水倒入杯子中,再挪动。

    调用函数

    • 在定义完函数之后,就需要定义函数了,两种方法调用。

    使用位置调用

    • 函数调用时,实参与形参位置顺序一致。调用的基本形式。
      在这里插入图片描述

    使用关键字参数调用

    • 采用“形参=实参”的形式(顺序不受约束)。
      在这里插入图片描述

    参数设置默认值

    • 在调用函数时,如果传递实参,即使用函数定义时,参数的默认值。
    • 定义函数时,每个形参都可以指定默认值。
      在这里插入图片描述

    可变参数

    • 参数有时传递1个,有时传递2个甚至多个,这个是怎么回事呢?
    • python中的函数可以定义接收不同数量的参数,这种参数称为可变参数。
    • 两种方法:参数前面加***

    基于元组

    • *可变参数在函数中被组装成一个元组。
      在这里插入图片描述

    基于字典

    • **可变参数在函数中被组装成一个字典。
      在这里插入图片描述

    作用域

    • 编程里的函数思想来源于数学,我们都知道数学里面函数的自变量有定义域的。因此,编程里面函数的参数(也就是自变量)也是有定义域的,我们称它为作用域。
    • 如果变量在模块中创建,其作用域(有效范围)是整个模块,这种变量称为全局变量。
    • 如果变量在函数中创建,在默认情况下作用域是这个函数,这种变量称为局部变量。
      在这里插入图片描述
    • 当然我们也可以使用特殊方法使得局部变量变为全局变量,如下例:
      在这里插入图片描述
    • 使用global
      在这里插入图片描述

    函数类型

    • 任意一个函数都有数据类型,即function,被称为函数类型。
    • 任意类型的数据可以作为函数返回值使用,也可以作为函数参数使用。因此,一个函数可以作为另一个函数返回值使用,也可以作另一个函数参数使用。
      在这里插入图片描述

    过滤函数filter()

    • 用于数据处理的函数。
    • filter()函数用于对容器中的元素进行过滤处理。
      在这里插入图片描述
    • 语法格式:filter(function, iterable)
      • 参数function是一个提供过滤条件的函数,返回布尔值。
      • 参数iterable是容器类型的数据。
    • 就像一个筛子,在调用filter()函数时,iterable会被遍历,它的元素会被逐一传入function()函数中。如果function()函数返回True,则元素保留;若返回False,则元素被过滤。 最后遍历完成,已保留的元素被放到一个新的容器数据中。
      在这里插入图片描述

    映射函数map()

    • 对容器中的元素进行映射(或变换)。例如:都乘以2。
      在这里插入图片描述
    • 语法格式:map(function, iterable)
      • 参数function是一个提供变换规则的函数,返回变换之后的元素。
      • 参数iterable是容器类型的数据。
    • 类似,镜像,并且可以对其处理。调用map()函数时,iterable会被遍历,其元素逐一传入function()函数中,在function()函数中对元素进行变换。

    在这里插入图片描述

    lambda()函数

    • 用来定义匿名函数。
    • 定义语法:lambda 参数列表 : lambda体
    • 注意:lambda体部分不能是一个代码块,不能包含多条语句,只有一条语句。语句会计算一个结果并返回给lambda()函数,不需要使用return语句返回。
      在这里插入图片描述
    • 更多实例在这里插入图片描述
  • 相关阅读:
    Linux用户和权限
    使用Git从其他分支merge个别文件
    go test, go bench & go examples
    Blazor前后端框架Known-V1.2.9
    高通SDX12:Keypad按键相关(PowerKey、Reset)
    Kafka中topic(主题)、broker(代理)、partition(分区)和replication(副本)它们的关系
    ts 之 定义 泛型( 泛型的定义、函数中又多个泛型的参数、接口、 类、泛型约束)
    Spring Cloud实战案例 │ Apollo和Zuul的整合开发
    STM32 HAL 用DMA+空闲中断接收不定长数据
    Clickhouse实时数仓建设
  • 原文地址:https://blog.csdn.net/Cherish1ove/article/details/125891957