站长在线Python精讲:在Python函数中参数传递的位置参数详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中参数传递的位置参数详解》。本文的主要内容有:实参和形参数量必须与定义时一致和实参和形参位置必须与定义时一致。
欢迎你来到站长在线的站长学堂学习python知识,本文学习的是《在Python函数中参数传递的位置参数详解》。本文的主要内容有:实参和形参数量必须与定义时一致和实参和形参位置必须与定义时一致。
位置参数,有时也称必备参数,指的是必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致。
1.实参和形参数量必须与定义时一致
在调用函数时,指定的实际参数的数量必须与形式参数的数量一致,否则将抛出TypeError异常,提示缺少必要的位置参数。如:
#可写函数说明
def printme( str ):
"打印任何传入的字符串"
print (str)
return
# 调用 printme 函数,不加参数会报错
printme()
运行结果为:
Traceback (most recent call last):
File "D:\Python\Python310\Doc\000.py", line 8, in <module>
printme()
TypeError: printme() missing 1 required positional argument: 'str'
>>>
2.实参和形参位置必须与定义时一致
在调用函数时,指定的实际参数的位置必须与形式参数的位置一致,否则将产生以下两种结果。
2.1、抛出TypeError异常
抛出异常的情况主要是因为实际参数的类型与形式参数的类型不一致,并且在函数中,这两种类型不能正常转换。如:
def div (height,width):
return height*width/2
print(div("站长在线",3))
运行结果:
Traceback (most recent call last):
File "D:\Python\Python310\Doc\000.py", line 3, in <module>
print(div("站长在线",3))
File "D:\Python\Python310\Doc\000.py", line 2, in div
return height*width/2
TypeError: unsupported operand type(s) for /: 'str' and 'int'
>>>
2.2、产生的结果与预期不符
站长在线提醒你:由于调用函数时,传递的实际参数的位置与形式参数的位置不一致时并不会总是抛出异常,所以在调用函数时一定要确定好位置,否则产生Bug,还不容易被发现。
例如,设计一个求梯形面积的函数,并利用此函数求上底为 4cm,下底为 8cm,高为 5cm 的梯形的面积。但如果交互高和下低参数的传入位置,计算结果将导致错误:
def area(upper_base,lower_bottom,height):
return (upper_base+lower_bottom)*height/2
print("正确结果为:",area(4,8,5))
print("错误结果为:",area(4,5,8))
运行结果为:
正确结果为: 30.0
错误结果为: 36.0
>>>
到此为止,站长在线为你讲解的《在Python函数中参数传递的位置参数详解》。本文的主要内容有:实参和形参数量必须与定义时一致和实参和形参位置必须与定义时一致。已经讲解完毕了。
在下一个知识点,站长在线就来讲解《在Python函数中理解参数传递的关键字参数》。关注站长在线,学习Python不迷路!欢迎你对站长在线进行关注,评论,点赞,分享、转发!
本文地址:https://www.olzz.com/pythonweizhicanshu.html
码字不易,打个赏呗
杨泽业感谢你的支持!
站长在线站长一对一网络指导服务,一元一分钟,50元一个小时
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元
阿里云虚拟主机1G空间,120元一年
香港、美国虚拟主机100元一年,1000元永久
腾讯云双十一0.4折起,2核8G5M三年仅700元,2核4G8M三年仅198元
猜你喜欢