Python 函数中如何实现可变数目的参数
在 python 自定义函数中如何实现可变数量的参数呢?这里有两种种方法来实现。
- 提供参数默认值
- 使用关键字参数 kwarg
参数默认值
最有用的形式是对一个或多个参数指定一个默认值。这样创建的函数,可以用比定义时允许的更少的参数调用。
比如有打印班级学生信息的一个函数,函数参数包括学生学号、姓名、专业名、班级号和学院名,可以将其中一些信息设置为默认值,例如学院名,这样就可以根据具体情况传递不同数目的参数了。
def student_info(id_num, name, class_name="communication", class_num="1", department="computer"): |
需要注意的是: 默认值只会执行一次。这条规则在默认值为可变对象(列表、字典以及大多数类实例)时很重要。
例如
def f(num, L=[]): |
其输出结果如下
[1] |
关键字参数
可以在函数的参数形式中传入 *args
和 **kwargs
形式的参数。*args
表示对元组形式的参数进行解析,**kwargs
表示对字典类型的参数进行解析。对于名字 args
和 kwargs
也可以用其他名字替换,不过通常使用 *args
和 **kwargs
。
def print_input(required, *args, **kwargs): |
hello |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Busyboxs!