当前位置: 代码网 > it编程>前端脚本>Python > python中函数传参的几种实现方式

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

2025年04月17日 Python 我要评论
1.位置传参实参与形参的位置数量一致def foo(a,b): #形参 print(a)if __name__ == '__main__': foo(1,2) #实参2.关键字传参关

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)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com