温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python函数参数怎么用

发布时间:2022-01-28 09:08:29 来源:亿速云 阅读:132 作者:iii 栏目:开发技术

这篇文章主要讲解了“python函数参数怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python函数参数怎么用”吧!

    前言

    python参数类型和参数传递形式多样,相对于其他语言python使用会更加灵活。它传参形式一般分为两种:位置传参,关键字传参。传参形式是相对于实参而言,在函数调用时使用参数类型一般也分为两种:默认参数,不定长参数。参数类型是相对形参而言,在函数创建时定义。

    位置传参

    位置传参,我们经常使用的一种函数传参形式,它根据实参的位置传递给对应位置的形式参数。在与其他传参形式混合使用时,必须优先输入位置参数。

    def func(a, b, c):
        print(a, b, c)
     
     
    # 位置参数
    if __name__ == '__main__':
        func(1, 6, 7)  # 打印结果是1 6 7  位置一一对应
        func(6, 1, 7)  # 打印结果是6 1 7
        # func(6, 1)  # 实参与形参数量必须一致 
        # func(6, 1, 7, 9)  # 不能多也不能少

    关键字传参

    关键字传参,根据形式参数的名字来进行对应的赋值。

    def func(a, b, c):
        print(a, b, c)
     
     
    # 关键字参数
    if __name__ == '__main__':
        func(1, b=6, c=7)  # 打印结果是1 6 7
        func(c=3, b=1, a=7)  # 打印结果是7 1 3
        # func(c=2, b=3)  # 不能少赋值
        # func(c=2, b=3,a=6,c=5)  # 不能多赋值
        # func(c=2, b=3,a=5,qq=3) # 也不能无关赋值
        # func(1, b=6, 7)  # 与位置传参混合使用时,必须位置参数在前,而且不能交替使用

    默认参数

    默认参数,就是形参会有个默认值,如果有新值传入就使用新值,否则使用默认值。形参使用默认参数时同样需要注意位置,必须写在位置参数后面(其实不能叫位置参数,但是为了理解就把没有赋值的普通形参叫做位置参数),否则会报错。如下方ab必须写在c后面。

    python函数参数怎么用

    # 默认参数必须要写在右侧
    def func(a, b=5, c=3):
        print(a, b, c)
     
     
    # 默认参数
    if __name__ == '__main__':
        func(1)  # 打印的结果是 1 5 3
        func(1, 6)  # 打印的结果是 1 6 3
        func(1, 2, 7)  # 打印结果是1 2 7
        func(b=1, a=4)  # 打印结果是4 1 3

    不定长参数

    不定长参数有两种表现形式。

    • 在形参前面加个*(*args),表示不定长元组形参,可以接收所有通过位置传参进来的实参,将其存入元组里面。

    • 在形参前面加两个*(**kwargs),表示不定长字典形参,可以接收所有通过关键字传参进来的实参,将其存入字典里面。

    # 不定长参数
    def func(*args, **kwargs):
        print(args)
        print(kwargs)
     
     
    if __name__ == '__main__':
        func(1, 4, 8, 7, a=5, h=6, l=15)  # 注意实参形参顺序要对应

    结果

    (1, 4, 8, 7)  # 元组
    {'a': 5, 'h': 6, 'l': 15}  # 字典

    混合使用问题

    创建时

    def func1(a, b=5, *args, c=7, **kwargs):
        print(a, b, args, c, kwargs)

    我们先给它们一个称呼方便引用。就称a为普通参数,b为默认参数,*args为可变参数(因为它能接收多个实参),**kwargs为可变关键字参数(因为它能接收多个通过关键字传参进来的实参)。

    • 普通参数必须写在最前面(写在其他类型参数前面)

    • 可变关键字参数必须写在最后面(写在其他参数类型后面)

    • 可变参数与可变关键字参数只能出现一次。

    引用时

    位置传参必须写在关键字参数前面,他们俩不能交替使用。关键字传参什么时候出现合适?出现在可变参数之后,相当于终止条件。

    def func1(a, b=5, *args, c=7, **kwargs):
        print(a, b, args, c, kwargs, sep='\n')
     
     
    if __name__ == '__main__':
        func1(5, 6, 8, 7, 1, 5, 6, 8, c=4, r=2, s=3)

     结果为

    5
    6
    (8, 7, 1, 5, 6, 8)
    4
    {'r': 2, 's': 3}

    感谢各位的阅读,以上就是“python函数参数怎么用”的内容了,经过本文的学习后,相信大家对python函数参数怎么用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI