python中函数传参的几种实现方式

 更新时间:2025年04月17日 09:08:12   作者:XuMeng_first  
这篇文章主要介绍了python中函数传参的几种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

1.位置传参

实参与形参的位置数量一致

def foo(a,b):  #形参
    print(a)

if __name__ == '__main__':
    foo(1,2)   #实参

2.关键字传参

关键字传参是指使用形参的名字来确定输入的参数。

通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可

def foo(a,b):
    print(f"a是{a},b是{b}")

if __name__ == '__main__':
    foo(b=1,a=2)



#结果
a是2,b是1

3.默认传参

调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。

这样,当没有传入参数时,则直接使用定义函数时设置的默认值。

语法格式如下:

def foo(a,b,c="我是默认参数"):
    print(f"a是:{a},b是:{b},c是:{c}")

if __name__ == '__main__':
    foo(b=1,a=2)

4.可变参数传参(*args,**kwargs)

--也可以叫不定长参数

  • 1.*args可以接收任意长度的位置参数
  • 2.**kwargs可以接收任意长度的关键字参数
  • 3.*args和**kwargs同事使用时,*args(位置参数)在前,**kwargs(关键字)参数在后。

形参为可变参数

def foo(*args, **kwargs):
    print("Positional arguments:")
    print(type(args))

    for arg in args:
        print(arg)

    print("\nKeyword arguments:")
    print(type(kwargs))
    for key, value in kwargs.items():
        print(key + ": " + str(value))


if __name__ == '__main__':
    a = foo(1,2,3,4,5,name = "tom",age = 18)
    help(foo())

实参为可变参数

def foo(a,b,name,age):

    print(a,b,name,age)

if __name__ == '__main__':
    a = [1,2]
    b = {"name":"tom","age":18}
    c = foo(*a,**b)


#结果
1 2 tom 18

实参和形参都为可变参数

def foo(*args, **kwargs):
    print("Positional arguments:")
    print(type(args))

    for arg in args:
        print(arg)

    print("\nKeyword arguments:")
    print(type(kwargs))
    for key, value in kwargs.items():
        print(key + ": " + str(value))


if __name__ == '__main__':
    a = [1,2,3,4,5]
    b = {"name":"tom","age":18}
    a = foo(*a,**b)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python如何实现图片转文字

    python如何实现图片转文字

    这篇文章主要介绍了python如何实现图片转文字问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • python中string模块各属性以及函数的用法介绍

    python中string模块各属性以及函数的用法介绍

    下面小编就为大家带来一篇python中string模块各属性以及函数的用法介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • 基于Python制作一个解压的内存加速球

    基于Python制作一个解压的内存加速球

    安全管家助手什么的上总会带一个内存加速球,有关掉进程以及内存清理的功能,本文就来利用Python制作一个解压的内存加速球,有需要的小伙伴可以参考下
    2023-10-10
  • Python趣味挑战之实现简易版音乐播放器

    Python趣味挑战之实现简易版音乐播放器

    小伙伴们天天学编程应该都学累了,今天特地给大家整理了这篇文章,让大家在学习的时候也收货快乐,文中有非常详细的代码示例,需要的朋友可以参考下
    2021-05-05
  • 利用Python编写的实用运维脚本分享

    利用Python编写的实用运维脚本分享

    Python在很大程度上可以对shell脚本进行替代。笔者一般单行命令用shell,复杂点的多行操作就直接用Python了。本文归纳了Python中一些实用脚本操作,需要的可以参考一下
    2022-05-05
  • python matplotlib保存图片不全问题及解决

    python matplotlib保存图片不全问题及解决

    这篇文章主要介绍了python matplotlib保存图片不全问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Python输出华丽分割线的方式大全

    Python输出华丽分割线的方式大全

    在 Python 编程中,有时候我们需要为日志、输出结果或者调试信息添加一些分割线,方便视觉上的区分,这篇文章将介绍几种常见的方法和一些创意的分割线设计,帮助你让代码输出更具美感和个性化,需要的朋友可以参考下
    2025-08-08
  • python try except返回异常的信息字符串代码实例

    python try except返回异常的信息字符串代码实例

    这篇文章主要介绍了python try except返回异常的信息字符串代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • pygame游戏之旅 添加键盘按键的方法

    pygame游戏之旅 添加键盘按键的方法

    这篇文章主要为大家详细介绍了pygame游戏之旅的第4篇,教大家如何添加键盘按键,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Python环境配置实现pip加速过程解析

    Python环境配置实现pip加速过程解析

    这篇文章主要介绍了Python环境配置实现pip加速过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论