python进阶(一):*args和**kwargs用法

python进阶(一):*args和**kwargs用法

引出:

在pycharm中对某个函数按快捷键crtl+P时可以查询到传入的参数列表,这里plt.plot绘图函数第一个参数就是*args,最后一个参数就是**kwargs。
在这里插入图片描述
在python中定义一个函数时,传入的变量数如果不确定的时候我们就要用到这两个参数,比如上面的绘图函数,因为传入的x,y值数量每次都不确定,所以定义这个来接收不同长度的变量。

看看英文全称,方便理解:

args 是 arguments 的缩写,表示位置参数;kwargs 是 keyword arguments 的缩写,表示关键字参数。

区别

*args和**kwargs区别在于,前者将所有的变量放入到args这个列表中,后者将所有的变量放入到kwargs这个字典中,所以kwargs需要形参传入键对值.

注意事项

两个参数一起出现时,*args一定要出现在**kwargs前面
def function(a,*args,**kwargs):

实例

#*args用法实例
def test_var_args(f_arg, *args):
		print("first normal arg:", f_arg) 
for arg in args:
		print("another arg through *args:", arg)
#这里'yasoob'传给了f_arg参数,'python', 'eggs', 'test'三个值被传入到args这个列表里面
test_var_args('yasoob', 'python', 'eggs', 'test')

#这会产⽣如下输出:
first normal arg: yasoob 
another arg through *args: python 
another arg through *args: eggs 
another arg through *args: test
def greet_me(**kwargs):
		for key, value in kwargs.items():
		print("{0} == {1}".format(key, value))
#将键对值name="yasoob"传入到kwargs这个字典中去
>>> greet_me(name="yasoob")
name == yasoob
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值