当需要给函数传参时,可以通过运用不同的形参来传递,达到参数不同的使用目的。简单来说:f_arg就是传递的第一个参数,类似于C++中的普通参数; *args 传递的是一个参数的list; **kwargs 传递的是一个有key的dict。下面通过一个例子来说明这三个参数的区别。
结果:
什么情况下使用 *args ,**kwargs?
比如一个定时产出的自动化程序,需要指定日期和时间去运行,同时有几种版本或者模式。就可以指定key等于不同的值,传入main函数中,来控制程序按照指定的模式运行了。
例如:有一个小时级的文本挖掘程序, 可以设定两个key: date , interval,通过传入参数: date="2016-09-10" , interval ="1", 指定挖掘2016年9月10日的数据,同时一个小时挖掘一次。 如果传入 interval = "8", 指定8小时挖掘一次。