码迷,mamicode.com
首页 > 编程语言 > 详细

Python【每日一问】07

时间:2019-04-22 12:04:24      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:打包   定义   rgs   元组   nbsp   pytho   使用   dict   关键字   

问:请解释使用 *args 和 **kwargs 的含义

答:

 

*args:非关键字参数,表示将实参中按照位置传值,多余的值都给 args,多余的实参被打包成 tuple(元组),然后传递给函数调用

# 定义函数
def func(a,b,*args):
    pass


func(1,2,c,d,e)

# 1被赋值给a,2被赋值给b,
# c,d,e被打包成元组,存在args中

 

**kwargs:关键字参数,表示形参中按照关键字传值,多余的值(以 k=v 的 形式)都给 kwargs,多余的关键字实参被打包成 dict(字典),然后传递给函数调用

#定义函数
def func(a,b,**kwargs):
    pass


func(3,4,c=1,d=2)

#c,d存在 kwargs 中,以字典的形式存在

 

注:如果要同时使用 *args 和 **kwargs ,必须 *args 参数列要在 **kwargs 前

Python【每日一问】07

标签:打包   定义   rgs   元组   nbsp   pytho   使用   dict   关键字   

原文地址:https://www.cnblogs.com/ElegantSmile/p/10749098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!