Python中*args和**kwargs的区别详解

yipeiwu_com6年前Python基础

一、*args的使用方法

*args 用来将参数打包成tuple给函数体调用

def args_test(x, y, *args):
  print(x, y, args)
args_test(1,2,3,4,5)
1 2 (3, 4, 5)

二、**kwargs的使用方法

**kwargs 打包关键字参数成dict给函数体调用

def kwargs_test(**kwargs):
  print(kwargs)
kwargs_test(a=1, b=2, c=3)
{'a': 1, 'c': 3, 'b': 2}

三.参数arg、*args、**kwargs三个参数的位置必须是一定的。必须是(arg,*args,**kwargs)这个顺序,否则程序会报错。

def param_test(arg, *args, **kwargs):
  print(arg, args, kwargs)
param_test(1, 3, 5, a=6, b=9)
1 (3, 5) {'b': 9, 'a': 6}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django使用uwsgi部署时的配置以及django日志文件的处理方法

首先保证你有一个可运行的django工程 然后在虚拟环境里面安装好uwsgi pip install uwsgi 配置nginx的服务如下 server {...

Python的Flask框架中实现简单的登录功能的教程

 回顾 在前面的系列章节中,我们创建了一个数据库并且学着用用户和邮件来填充,但是到现在我们还没能够植入到我们的程序中。 两章之前,我们已经看到怎么去创建网络表单并且留下了一个实...

详解python pandas 分组统计的方法

详解python pandas 分组统计的方法

首先,看看本文所面向的应用场景:我们有一个数据集df,现在想统计数据中某一列每个元素的出现次数。这个在我们前面文章《如何画直方图》中已经介绍了方法,利用value_counts()就可以...

Python+AutoIt实现界面工具开发过程详解

Python+AutoIt实现界面工具开发过程详解

前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具。如果工具是命令行交互操作的方式,可能是有悖于在windows上使用的操作习惯...

pycharm 使用心得(一)安装和首次使用

pycharm 使用心得(一)安装和首次使用

首先预览一下 PyCharm 在实际应用中的界面:(更改了PyCharm的默认风格) 安装 首先去下载最新的pycharm 2.7.3,进行安装。可以直接在官网下载。 PyCharm...