当前位置: 首页 > news >正文

【第二部分--Python之基础】04 函数

1 定义函数

自定义函数的语法格式如下:
以英文半角冒号结尾

由于定义函数时的参数不是实际数据,会在调用函数时传递给它们实际数据,所以我们称定义函数时的参数为形式参数,简称形参:称调用函数时传递的实际数据为实际参数,简称实参。你可以将形参理解为在函数中定义的变量。

def rect_area(width, height):area = width * heightreturn areadef print_area(width, height):area = width * heightprint_area('{0} * {1} 长方形面积:{2}'.format(width,height,area))

2 调用函数

2.1 使用位置参数调用函数

在调用函数时传递的实参与定义函数时的形参顺序一致,这是调用函数的基本形式。

2.2 使用关键字参数调用函数

在调用函数时可以采用“关键字=实参”的形式,其中,关键字的名称就是定义函数时形参的名称。

3 参数的默认值

4 可变参数

4.1 基于元组的可变参数(*可变参数)

*可变参数在函数中被组装成一个元组。

4.2 基于字典的可变参数(**可变参数)

**可变参数在函数中被组装成一个字典。

5 函数中变量的作用域

变量可以在模块中创建,作用域(变量的有效范围)是整个模块,被称为全局变量。变量也可以在函数中创建,在默认情况下作用域是整个函数,被称为局部变量。

6 函数类型

Python中的任意一个函数都有数据类型,这种数据类型是function,被称为函数类型。

6.1 理解函数类型

函数类型的数据与其他类型的数据是一样的,任意类型的数据都可以作为函数返回值使用,还可以作为函数参数使用。因此,一个函数可以作为另一个函数返回值使用,也可以作为另一个函数参数使用。

6.2 过滤函数filter()

在Python中定义了一些用于数据处理的函数,如filter()和map()等。我们先介绍filter()函数。
filter()函数用于对容器中的元素进行过滤处理。

filter()函数的语法如下:

参数function是一个提供过滤条件的函数,返回布尔值。
参数iterable是容器类型的数据。

注意:filter()函数的返回值并不是一个列表,如果需要返回列表类型的数据,则还需要通过list(函数进行转换。

6.3 映射函数map()

map()函数用于对容器中的元素进行映射(或变换)。例如:我想将列表中的所有元素都乘以2,返回新的列表。

map()函数的语法如下:

参数function是一个提供变换规则的函数,返回变换之后的元素。
参数iterable是容器类型的数据。

7 lambda()函数

在Python中使用lambda关键字定义匿名函数。lambda关键字定义的函数也被称为lambda()函数,定义lambda()函数的语法如下。

“参数列表”与函数的参数列表是一样的,但不需要用小括号括起来

lambda()函数与有名称的函数一样,都是函数类型,所以add()和sub()函数可以被lambda()函数替代。

8 动动手——使用更多的lambda()函数

本章内容较多,难点是对函数类型的理解和对lambda(函数的使用。函数类型有些抽象,你需要记住的是,从数据类型的角度来看,函数类型与其他数据类型设有区别,这样就容易理解了。lambda()函数比较重要,它是一种匿名函数,但是只能有一条语句,返回结果时不能使用return语句

http://www.lryc.cn/news/515422.html

相关文章:

  • 我们公司只有3个人,一个前端,一个后端
  • 基于LabVIEW的BeamGage自动化接口应用
  • 【AI编辑器】Cursor与DeepSeek模型的集成:提升开发效率的新选择
  • vue2实现excel文件预览
  • STM32 和 ESP32
  • R语言中的时间序列分析·
  • QML学习(六) anchors锚点和坐标,以及anchors锚点的使用
  • BFS广度优先搜索详解
  • vue项目利用webpack进行优化案例
  • 如何单独安装 MATLAB 工具箱
  • 组网实训实现
  • openbmc sdk09.03 适配(一)
  • SQL使用存储过程
  • C语言----函数、指针、数组
  • 基于Java的敬老院管理系统的设计和实现【源码+文档+部署讲解】
  • 12306分流抢票软件 bypass v1.16.43 绿色版(春节自动抢票工具)
  • 【数据仓库】hadoop3.3.6 安装配置
  • 小试牛刀-SpringBoot集成SOL链
  • 批量插入报错: No value specified for parameter
  • VSCode设置ctrl或alt+mouse(left)跳转
  • Crosslink-NX应用连载(12):如何复用特殊功能管脚
  • ‘元素.style.样式名‘获取不到样式,应该使用Window.getComputedStyle()获取正真的样式
  • 双目视觉:reprojectImageTo3D函数
  • Arduino Uno简介与使用方法
  • 深入了解 StarRocks 表类型:解锁高效数据分析的密码
  • L27.【LeetCode笔记】2 的幂(五种解法)
  • Pentaho Kettle迁移至Oracle的空字符串和NULL的问题处理,大坑!
  • 「Mac畅玩鸿蒙与硬件50」UI互动应用篇27 - 水果掉落小游戏
  • 2.C语言基础:语句、表达式、注释与标准库简介
  • Python 基于 opencv 的人脸识别监控打卡系统(源码+部署)