• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 天下网吧 | 发布时间: 2025-6-17 08:12| 查看数: 123| 评论数: 0|帖子模式

    1.位置传参

    实参与形参的位置数量一致
    1. def foo(a,b):  #形参
    2.     print(a)

    3. if __name__ == '__main__':
    4.     foo(1,2)   #实参
    复制代码
    2.关键字传参

    关键字传参是指使用形参的名字来确定输入的参数。
    通过该方式指定实参时,不需要与形参位置一致,只要参数名称写正确即可
    1. def foo(a,b):
    2.     print(f"a是{a},b是{b}")

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



    5. #结果
    6. a是2,b是1
    复制代码
    3.默认传参

    调用函数时,如果没有指定某个参数将抛出异常,即在定义函数时,直接指定形式参数的默认值。
    这样,当没有传入参数时,则直接使用定义函数时设置的默认值。
    语法格式如下:
    1. def foo(a,b,c="我是默认参数"):
    2.     print(f"a是:{a},b是:{b},c是:{c}")

    3. if __name__ == '__main__':
    4.     foo(b=1,a=2)
    复制代码
    4.可变参数传参(*args,**kwargs)

    --也可以叫不定长参数

    • 1.*args可以接收任意长度的位置参数
    • 2.**kwargs可以接收任意长度的关键字参数
    • 3.*args和**kwargs同事使用时,*args(位置参数)在前,**kwargs(关键字)参数在后。
    形参为可变参数
    1. def foo(*args, **kwargs):
    2.     print("Positional arguments:")
    3.     print(type(args))

    4.     for arg in args:
    5.         print(arg)

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


    10. if __name__ == '__main__':
    11.     a = foo(1,2,3,4,5,name = "tom",age = 18)
    12.     help(foo())
    复制代码
    实参为可变参数
    1. def foo(a,b,name,age):

    2.     print(a,b,name,age)

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


    7. #结果
    8. 1 2 tom 18
    复制代码
    实参和形参都为可变参数
    1. def foo(*args, **kwargs):
    2.     print("Positional arguments:")
    3.     print(type(args))

    4.     for arg in args:
    5.         print(arg)

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


    10. if __name__ == '__main__':
    11.     a = [1,2,3,4,5]
    12.     b = {"name":"tom","age":18}
    13.     a = foo(*a,**b)
    复制代码
    总结

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

    来源:https://www.jb51.net/python/3397637wt.htm
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表