美文网首页Python 成长笔记
Python拾珍:9. 收集关键词参数

Python拾珍:9. 收集关键词参数

作者: 赵者也 | 来源:发表于2018-03-01 10:21 被阅读10次

我们知道如何编写函数将其参数收集成一个元组:

def print_all(*args):
    print(args)

可以使用任意个参数的按位实参(也就是说,不带名称的实参)来调用这个函数:

print_all(1, 2.0, '3')

但是 * 号操作符并不会收集关键词实参:

* 号操作符并不会收集关键词实参

要收集关键词实参,可以使用 ** 操作符:

def print_all(*args, **kwargs):
    print(args, kwargs)
收集关键词实参,可以使用 ** 操作符

如果有一个关键词到值的字典,就可以使用分散操作符 ** 来调用函数:

调用函数

没有用分散操作符的话,函数会把 d 当作一个单独的按位实参,所以它会把 d 赋值给 x,并因为没有提供 y 的赋值而报错:

因为没有提供 y 的赋值而报错

当处理参数很多的函数时,创建和传递字典来指定常用的选项是非常有用的。

本文参考自《像计算机科学家一样思考Python (第2版)

相关文章

网友评论

    本文标题:Python拾珍:9. 收集关键词参数

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