Python基础 – 函数的参数
必选参数
函数的一种参数类型,在调用这个函数的时候必须传入数据的参数。

传递实参时的顺序
在传递必选参数时,形参会按照定义的顺序依次接收数据。
调用函数时第一个参数传递给name,第二个参数传递给pet。

缺少实参
在调用函数时,缺少或超出对必选参数的传递会导致程序错误。
也就是说,在函数中定义了多少个必选参数就要传递多少个实参。

关键字传递
当我们忘记了传递顺序时,可以利用“形参名=实参名”的方式传递实参。
这样以关键字传递实参的形式,简称为关键字实参。

小练习
定义一个函数getArea,设定参数width与height分别接收矩形的宽高,计算矩形的面积并返回。
调用该函数,用关键字的形式传递参数宽为5、高为3,并按照“矩形的面积为xx”的格式输出结果。
def getArea(width, height):
return width*height
ret = getArea(width=5, height=3)
print(f"矩形的面积为{ret}")
若定义一个计算圆形面积的函数,设定参数为半径(radius)与圆周率(pi)。
多数情况下,圆周率都会近似为3.14。
若pi不是必选参数,设其默认为3.14。只在需要修改圆周率时传递数据,函数调用起来会方便很多。

必选参数定义起来虽然简单,在调用函数时经常会因为缺少实参造成程序错误。
接下来学习给形参设置默认值。
默认值参数
def getArea(radius, pi=3.14):
ret = radius * radius * pi
return ret
ret1 = getArea(2)
print(ret1)
ret2 = getArea(2, 3.14159)
print(ret2)
代码的作用
定义一个函数getArea,根据传递的半径与圆周率,计算圆的面积并输出。
在第1行,定义形参radius与pi,并为pi设定默认值为3.14。
在第5行,调用函数getArea,并传递数据2。
在第7行,调用函数getArea,并传递数据2与3.14159。
关键字
一个关键字,def是函数定义的关键字,是define的缩写。

括号
括号与冒号,这是函数定义的固定格式。

逗号一个逗号,用来分割多个参数。

必选参数
一串字母radius,必选参数。
必选参数要定义在默认值参数之前。

默认参数
一串字母pi,默认值参数。
默认参数可以有任意个,但必须定义在必选参数之后(若必选参数存在)。

等号
一个等号,赋值符号。

默认值
一组数据,为参数pi设置默认值。
若在调用函数时,没有为参数pi传递实参,参数pi默认为3.14。

传递一个实参
调用函数,只为必选参数传递整数2。
因为pi没有接收到参数,所以pi将使用默认值3.14。

传递两个实参
调用函数,传递参数2与3.14159。
此时pi接收到的实参数据3.14159会覆盖默认值3.14。

代码小结当我们定义一个默认值参数时就需要这几个部分

目前学习了两种类型的参数,必选参数与默认值参数。这两种参数形式涵盖了80%以上的函数使用。
在定义不同的参数时,需要注意避免一些常见的错误。
1.定义参数的顺序
在定义函数时,定义形参的顺序是:1,必选参数;2,默认参数。 当有必选参数和默认参数的时候,必选参数必须写在默认参数的前面,否则程序会出错。

2.参数名避免使用无意义的字母
在传递实参给函数时,若忘记定义顺序可以使用“形参名=实参”的方式。
但如果定义的形参名是诸如a,abc这样无意义的名字,会减少代码可读性,容易混淆。
所以设定参数名时,尽量使用有意义的名称。

最后,对这两种参数的差异性做一个总结。


评论区