美文网首页程序员
2分钟了解Python的5种传参姿势

2分钟了解Python的5种传参姿势

作者: ef3c855d1b6d | 来源:发表于2019-01-06 23:11 被阅读4次

    关于传参

    稍微总结一下 Python 函数传递参数的方式。

    位置实参

    实参和形参的位置是关联对应的。一个实参对应一个相应位置的形参。

    def func(a, b):
        print(a, b)
    
    >>> func(1, 2)
    1 2
    >>> func(2, 1)
    2 1
    

    关键字实参

    实参以 key=value 的形式传递,因为已经指明了将 value 传给哪个参数,所以位置顺序就无关紧要了。

    def func(a, b):
        print(a, b)
    
    >>> func(a=1, b=2)
    1 2
    >>> func(b=2, a=1)
    1 2
    

    默认值

    可以给形参指定默认值,当没有提供实参的时候,就会使用默认值。

    利用这个特性可以实现可选参数

    def func(a, b=2):
        print(a, b)
    
    >>> func(1)
    1 2
    >>> func(1, 3)
    1 3
    

    传递任意数量的实参

    使用形参 *topping 可以使函数能够传递任意数量的实参。

    传递的参数会被封装到一个元组中

    def func(*args):
        print(args)
        
    >>> func('a', 'b', 'c')
    ('a', 'b', 'c')
    

    传递任意数量的关键字实参

    使用形参 **kwargs 可以使函数能够传递数量的关键字实参

    传递的参数会被封装成键值对,即字典

    kwargs => keyword args

    def func(**kwargs):
        print(kwargs)
        
    >>> func(a=1, b=2, c=3)
    {'a': 1, 'b': 2, 'c': 3}
    

    参考

    • 《Python编程从入门到实践》

    相关文章

      网友评论

        本文标题:2分钟了解Python的5种传参姿势

        本文链接:https://www.haomeiwen.com/subject/rioerqtx.html