接上文Python开发从零开始-19.1-基础语法(函数),本文将继续介绍函数相关知识。
三、函数参数
(一)什么是参数
函数参数是定义函数时声明的变量,用于接收调用时传入的数据。函数是封装特定功能的代码块,参数是函数与外部交互的接口。
函数参数有形参(形式参数)和实参(实际参数)两个核心概念。
形参:在定义函数时,函数名后面的括号内声明的参数,本质上是变量名,用于接收外部传入的值。
实参:在调用函数时,实际传递给函数的具体值、变量或表达式。
下面用实际编程示例帮助大家理解:

|
(二)Python 函数参数的分类
Python 函数参数分为:位置参数、关键字参数、默认参数、可变参数、强制限制参数等类型。
1、位置参数
位置参数是函数定义中最基础、最常见的参数类型,调用时必须按照定义顺序提供对应数量的值。编程示例如下:

2、关键字参数
关键字参数在调用函数时通过 参数名=值 的方式传参,可以不按定义顺序,提高了代码的可读性。 编程示例如下:

当混合使用位置参数和关键字参数时,位置参数必须放在关键字参数之前,否则会出现 TypeError 报错。 |
3、默认参数
默认参数可以在定义时为参数指定默认值,函数调用时参数可省略,省略时使用默认值。定义时默认参数必须放在位置参数之后。 编程示例如下:

默认参数应使用不可变对象(如数字、字符串、None),避免使用列表、字典等可变对象,否则可能因默认参数对象在多次调用而发生意外的变化或修改。 |
4、可变参数
当函数需要处理比声明时更多的参数时,可以使用可变参数。可变参数包括可变位置参数和可变关键字参数。
(1)可变位置参数(*args)
在参数前加星号 * 前缀,该参数即为可变位置参数,可以接收该位置参数的任意数据,并打包成元组。如果可变位置参数未接收到数据,则该参数为空元组。编程示例如下:

(2)可变关键字参数
在参数前加双星号 ** 前缀,该参数即为可变关键字参数,可以接收任意数据,并打包成字典。编程示例如下:

5、限制参数
在 Python 函数定义中,可以使用 /和 * 符号控制参数的传递方式。/ 和 * 符号它们分别表示“仅限位置参数”和“仅限关键字参数”。
(1)仅限位置参数
仅限位置参数(Positional-Only Arguments)是 Python 3.8 引入的新特性,通过在函数定义中使用 / 来指定 / 之后的参数只能按位置传递,不能使用关键字传递。这一特性可提升函数调用的清晰度与安全性,避免参数顺序错误及不必要的关键字使用。编程示例如下:

(2)仅限关键字参数
仅限关键字参数(Keyword-Only Arguments)通过 * 符号强制要求 * 号后的参数必须以关键字形式传递,从而提升代码的可读性和安全性。
编程示例如下:

6、组合参数
Python 函数参数的各种类型可以组合使用,极其灵活且强大。但是小编认为除非必要,不需要这样组合使用,因为这样会降低代码可读性,且极易出现错误。组合参数示例如下:

受文章篇幅所限,下文将继续介绍Python函数相关知识。