您的位置:首页 > 编程语言 > Python开发

python函数形参中的*args和**kwargs

2017-12-29 14:34 183 查看

转载:https://www.cnblogs.com/xuyuanyuan123/p/6674645.html

多个实参,放到一个元组里面,以*开头,可以传多个参数;**是形参中按照关键字传值把多余的传值以字典的方式呈现

*args:(表示的就是将实参中按照位置传值,多出来的值都给args,且以元祖的方式呈现)

示例:

执行结果是:

当args与位置参数和默认参数混用的情况下:(注意三者的顺序)

示例一、(三者顺序是:位置参数、默认参数、*args)

 执行结果是:

 示例二、(三者顺序是:位置参数、*args、默认参数)

 执行结果是:

其中关于*,可以从2个角度来看(需要拆分来看):

1、从形参的角度来看:

示例:

执行结果是:

2、从实参的角度来看:

示例:

执行结果是:

 

 

 

——————————————————————————————————————————————————————————————————————————————————————

 

 

 

 

**kwargs:(表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现)

示例:

执行结果是:

关于**kwargs与位置参数、*args、默认参数混着用的问题:(注意顺序)

位置参数、*args、**kwargs三者的顺序必须是位置参数、*args、**kwargs,不然就会报错:

示例:

执行结果是:

错误示例:(由于顺序错误)

执行结果就会报错:

位置参数、默认参数、**kwargs三者的顺序必须是位置参数、默认参数、**kwargs,不然就会报错:

示例:

执行结果是:

  

其中关于**,可以从2个角度来看(需要拆分来看):

1、从形参的角度来看:

示例:

执行结果是:

2、从实参的角度来看:

示例一:

执行结果是:

示例二:

执行结果是:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: