站长在线Python精讲:在Python函数中参数传递的位置参数详解

    时间: 浏览:1668次  来源:站长在线 
欢迎你来到站长在线的站长学堂学习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
码字不易,打个赏呗
杨泽业感谢你的支持!

猜你喜欢

域名pythonw.cn出售

域名pythonw.cn的详细信息:Python网

2022-08-06  分类:域名出售  浏览:1431次


站长在线Python教程:Python中类定义详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中类定义详解》。

2022-02-23  分类:Python学堂  浏览:2001次


站长在线Python教程:python中面向对象相关概述详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《python中面向对象相关概述详解》。本文的主要内容有:面向对象是什么、面向对象中的对象是什么、Python中的类是什么、面向对象编程的特点有哪些?

2022-02-14  分类:Python学堂  浏览:1697次


站长在线零基础Python完全自学教程23:函数的返回值、作用域和匿名函数

导读:欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第23课《函数的返回值、作用域和匿名函数》。本文是一个大课程分成了下面4节小课程:Python中函数的返回值、Python函数中的局部变量、Python函数中的全局变量、Python函数中的匿名函数等内容。

2022-02-09  分类:Python学堂  浏览:1564次


站长在线Python教程:Python函数中的匿名函数详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python函数中的匿名函数详解》。本文的主要内容有:匿名函数的定义、匿名函数的表达式、匿名函数的注意点、匿名函数的优点、匿名函数的应用举例。

2022-02-01  分类:Python学堂  浏览:1687次


站长在线Python教程精讲:在Python函数中的全局变量详解

欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中的全局变量详解》。本文的主要内容有:什么是全局变量、在函数外部定义的变量是全局变量、在函数内部定义中添加global关键词后变成全局变量。

2022-01-10  分类:Python学堂  浏览:1796次


站长在线Python教程精讲:在Python函数中的局部变量详解

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《在Python函数中的局部变量详解》。本文的主要内容有:变量的作用域的概念、局部变量的概念、局部变量的举例。

2022-01-06  分类:Python学堂  浏览:1705次


Python常用英语及用法

站长在线站长,准备系统的学习Python知识,但是对我来说,英语实在是太差了,当然我知道的是,不仅仅我,很多人在学习Python的时候,也是不知道这些英语单词的意思与用法的,在这里站长在线站长就把这些英语整理出来,把英语以及中文意思、用法一起贴出来,让大家一起来学习。

2022-01-02  分类:Python学堂  浏览:1913次


站长在线Python精讲:Python中函数的返回值

导读:欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是《Python中函数的返回值》。本文的主要内容有:函数的返回值的含义、函数设置返回值的作用、return语句位置与多条 return语句的总结。

2021-12-29  分类:Python学堂  浏览:1874次


站长在线零基础Python完全自学教程22:在Python中函数的参数传递

欢迎你来到站长学堂,学习站长在线出品的在线课程《零基础 Python完全自学教程》今天给大家分享的是第22课《在Python中函数的参数传递》。本文是一个大课程分成了下面5节小课程:在Python函数中理解形式参数和实际参数、在Python函数中参数传递的位置参数详解、在Python函数中的关键字参数详解、在Python函数中的默认参数详解、在Python函数中的可变参数详解。

2021-12-26  分类:Python学堂  浏览:1660次