欢迎你来到站长在线的站长学堂学习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 (heightwidth):
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_baselower_bottomheight):
return (upper_base+lower_bottom)*height/2
print(\"正确结果为:\"area(485))
print(\"错误结果为:\"area(458))
运行结果为:
正确结果为: 30.0
错误结果为: 36.0
>>>
到此为止 , 站长在线为你讲解的《在Python函数中参数传递的位置参数详解》 。 本文的主要内容有:实参和形参数量必须与定义时一致和实参和形参位置必须与定义时一致 。 已经讲解完毕了 。
【Python|站长在线Python精讲:在Python函数中参数传递的位置参数详解】在下一个知识点 , 站长在线就来讲解《在Python函数中理解参数传递的关键字参数》 。 关注站长在线 , 学习Python不迷路!欢迎你对站长在线进行关注 , 评论 , 点赞 , 分享、转发!
- Python|99元换新120W氮化镓遭爆抢!iQOO网页后台都崩了
- Python|2022年空调业三雄争霸, 战火在线上线下全面点燃
- 创业|中国各种在线支付支付金额统计表:微信支付居然比支付宝少太多!
- vivo x70|超值得入手的旗舰!vivo X70 Pro+审美在线,综合实力出众
- Python|大厂高薪惯坏了年轻人?为啥大厂的年轻人越来越被公司要不起?
- Python|就差不能对着电脑生孩子了,Python的PyAutoGUI让你连鼠键都敢省了
- 大众点评|中国在线餐饮消费投诉数据报告,美团 饿了么 大众点评被点名
- Python|镰刀发布Big Shuriken 3 Rev B散热器,采用新款散热风扇
- Java|【python学习笔记】Python find()方法
- Python|再忍忍,五款新机已经在路上,眼光或许可以放长一些!