Python 位置参数基础教程示例

 更新时间:2023年09月07日 11:56:23   作者:严长生  
这篇文章主要为大家介绍了Python 位置参数基础教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

位置参数

有时也称必备参数,指的是必须按照正确的顺序将实际参数传到函数中,换句话说,调用函数时传入实际参数的数量和位置都必须和定义函数时保持一致。

实参和形参数量必须一致

在调用函数,指定的实际参数的数量,必须和形式参数的数量一致(传多传少都不行),否则 Python 解释器会抛出 TypeError 异常,并提示缺少必要的位置参数。

例如:

def girth(width , height):
    return 2 * (width + height)
#调用函数时,必须传递 2 个参数,否则会引发错误
print(girth(3))

运行结果为:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    print(girth(3))
TypeError: girth() missing 1 required positional argument: 'height'

可以看到,抛出的异常类型为 TypeError,具体是指 girth() 函数缺少一个必要的 height 参数。

同样,多传参数也会抛出异常:

def girth(width , height):
return 2 * (width + height)
#调用函数时,必须传递 2 个参数,否则会引发错误
print(girth(3,2,4))

运行结果为:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
    print(girth(3,2,4))
TypeError: girth() takes 2 positional arguments but 3 were given

通过 TypeErroe 异常信息可以知道,girth() 函数本只需要 2 个参数,但是却传入了 3 个参数。

实参和形参位置必须一致

在调用函数时,传入实际参数的位置必须和形式参数位置一一对应,否则会产生以下 2 种结果:

抛出 TypeError 异常

当实际参数类型和形式参数类型不一致,并且在函数种,这两种类型之间不能正常转换,此时就会抛出 TypeError 异常。

例如:

def area(height,width):
return height*width/2
print(area("C语言中文网",3))

输出结果为:

Traceback (most recent call last):
  File "C:\Users\mengma\Desktop\1.py", line 3, in <module>
    print(area("C语言中文网",3))
  File "C:\Users\mengma\Desktop\1.py", line 2, in area
    return height*width/2
TypeError: unsupported operand type(s) for /: 'str' and 'int'

以上显示的异常信息,就是因为字符串类型和整形数值做除法运算。

产生的结果和预期不符

调用函数时,如果指定的实际参数和形式参数的位置不一致,但它们的数据类型相同,那么程序将不会抛出异常,只不过导致运行结果和预期不符。

例如,设计一个求梯形面积的函数,并利用此函数求上底为 4cm,下底为 3cm,高为 5cm 的梯形的面积。但如果交互高和下低参数的传入位置,计算结果将导致错误:

def area(upper_base,lower_bottom,height):
return (upper_base+lower_bottom)*height/2
print("正确结果为:",area(4,3,5))
print("错误结果为:",area(4,5,3))

运行结果为:

正确结果为: 17.5
错误结果为: 13.5

因此,在调用函数时,一定要确定好位置,否则很有可能产生类似示例中的这类错误,还不容易发现。

以上就是Python 位置参数基础教程示例的详细内容,更多关于Python位置参数的资料请关注脚本之家其它相关文章!

相关文章

  • 已解决不小心卸载pip后怎么处理(重新安装pip的两种方式)

    已解决不小心卸载pip后怎么处理(重新安装pip的两种方式)

    这篇文章主要介绍了已解决不小心卸载pip后怎么处理(重新安装pip的两种方式),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • python实现双链表

    python实现双链表

    这篇文章主要为大家详细介绍了python实现双链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • Python制作个性化的词云图实例讲解

    Python制作个性化的词云图实例讲解

    大家好,本篇文章主要讲的是Python制作个性化的词云图实例讲解,感兴趣的同学赶紧来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • python中使用asyncio实现异步IO实例分析

    python中使用asyncio实现异步IO实例分析

    在本篇文章里小编给大家整理的是一篇关于python中使用asyncio实现异步IO实例分析内容,有兴趣的朋友们可以学习下。
    2021-02-02
  • Python中.join()和os.path.join()两个函数的用法详解

    Python中.join()和os.path.join()两个函数的用法详解

    join()是连接字符串数组而os.path.join()是将多个路径组合后返回。接下来通过本文重点给大家介绍Python中.join()和os.path.join()两个函数的用法,感兴趣的朋友一起看看吧
    2018-06-06
  • python实现内存监控系统

    python实现内存监控系统

    这篇文章主要为大家详细介绍了python实现内存监控系统,通过系统命令或操作系统文件获取到内存信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • Django 解决阿里云部署同步数据库报错的问题

    Django 解决阿里云部署同步数据库报错的问题

    这篇文章主要介绍了Django 解决阿里云部署同步数据库报错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 解决Numpy与Pytorch彼此转换时的坑

    解决Numpy与Pytorch彼此转换时的坑

    这篇文章主要介绍了解决Numpy与Pytorch彼此转换时的坑,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • numpy.std() 计算矩阵标准差的方法

    numpy.std() 计算矩阵标准差的方法

    今天小编就为大家分享一篇numpy.std() 计算矩阵标准差的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Pycharm配置Anaconda环境的详细图文教程

    Pycharm配置Anaconda环境的详细图文教程

    PyCharm是一款很好用很流行的python编辑器,Anaconda通过管理工具包、开发环境、Python版本,大大简化了你的工作流程,下面这篇文章主要给大家介绍了关于Windows系统下Pycharm配置Anaconda环境的相关资料,需要的朋友可以参考下
    2023-02-02

最新评论