python基础语法 - 函数

本文介绍了Python的基础语法——函数,包括函数的概念、为何使用函数、如何定义和调用函数,详细讲解了位置参数、关键字参数、默认值、可变参数、作用域,以及函数类型、filter()、map()和lambda()函数的用法,旨在帮助读者深入理解Python函数的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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语句返回。
    在这里插入图片描述
  • 更多实例在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值