美文网首页
python-调用函数(3)

python-调用函数(3)

作者: ragna | 来源:发表于2017-03-03 10:48 被阅读0次

    参数组合

    在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。但是请注意,

    参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

    可变参数*args(默认名称),传入的是一个tuple,且这个tuple是原数据的副本,无论怎么操作也不会对原数据有影响。

    关键字参数**kw(默认名称),传入的是一个dict,且进入函数的是副本。

    命名关键字参数,如我只接收city和job作为我的关键字参数:

    图1 关键字参数函数定义-1

    和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。

    调用方式如下:

    图2 关键字参数函数调用-1

    如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了:

    图3 关键字参数函数定义-2

    命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错:

    命名关键字参数可以有缺省值,从而简化调用:

    def person(name, age, *, city='Beijing', job):

        print(name, age, city, job)

    由于命名关键字参数city具有默认值,调用时,可不传入city参数:

    >>>person('Jack',24, job='Engineer')

    >>>Jack 24 Beijing Engineer

    对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的.

    相关文章

      网友评论

          本文标题:python-调用函数(3)

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