许多语言都支持可变参数列表,python也不例外。python的可变参数列表有点不太一样,有两种类型的可变参数列表,一种是元组,一种是字典。

一,元组参数列表:

(1)函数定义形式:def func(a, b, *args)。这种情况下,形参args是一个元组。函数调用时将多余的参数组合起来,形成一个元组,赋值给args。args就是这些多余参数的元组。代码示例如下:

importos, sys

deffunc(a, b, *args):

print(args)

if__name__ == '__main__':

func(10, 20, 'hello', 'world', 100)

结果如下:

('hello', 'world', 100)

(2)函数调用形式:func(a, *args)。这种情况下,实参args是一个元组。函数调用时将元组拆开,每参数对应赋值给形参。代码示例如下:

importos, sys

deffunc(a, b, c, d):

print(a, b, c, d)

if__name__ == '__main__':

args = (2, 3, 4)

func(1, *args)

结果如下:

(1, 2, 3, 4)

二,字典参数列表:

(1)函数定义形式:def func(a, b, **kwargs)。这种情况下,形参kwargs是一个字典。函数调用时将多余的参数组合起来,形成一个字典,赋值给kwargs。kwargs就是这些多余参数的字典。代码示例如下:

importos, sys

deffunc(a, b, **kwargs):

print(kwargs)

if__name__ == '__main__':

func(1, 2, x= 3, y= 'Good', z= 'Morning')

结果如下:

{'y': 'Good', 'x': 3, 'z': 'Morning'}

(2)函数调用形式:func(a, **kwargs)。这种情况下,实参kwargs是一个元组。函数调用时将元组拆开,每参数对应赋值给形参。代码示例如下:

importos, sys

deffunc(a, b, x, y, z):

print(a, b, x, y, z)

if__name__ == '__main__':

kwargs = {'x':3, 'y':4, 'z':5}

func(1, 2, **kwargs)

结果如下:

(1, 2, 3, 4, 5)

总结如下:

Python的可变参数*args 如果用在函数定义中,则args是元组的组合过程;如果用在函数调用中,则args是元组的分解过程。**kwargs如果用在函数定义中,则kwargs是字典的组合过程;如果用在函数调用中,则kwargs是字典的分解过程。

python 函数参数列表_Python 函数可变参数列表*args和**kwargs相关推荐

  1. python求最大值最小值_Python求可变参数的最大值最小值以及参数个数

    求可变参数的最大值最小值以及参数个数 简介: 首先要做这个题,我们要使用函数来解决,这就要求我们要掌握函数的定义以及函数的调用.函数是一段具有特定功能的.可重用的,用来实现单一,或相关联功能的代码段. ...

  2. python可变参数报错_Python之可变参数,*参数,**参数,以及传入*参数,进行解包...

    1.定义了一个需要两个参数的函数 def print_str(first, second): print first print second if __name__ == "__main_ ...

  3. python中可变参数和关键字参数_python的可变参数和关键字参数(*args **kw)

    本文是来自廖大的python教程其中我一直忘记的部分.算是一个笔记把.因为日常这俩参数名字一直搞混 可变参数 在Python函数中,还可以定义可变参数.顾名思义,可变参数就是传入的参数个数是可变的,可 ...

  4. python 函数参数传递机制_Python函数参数传递机制(超级详细)

    Python中,函数参数由实参传递给形参的过程,是由参数传递机制来控制的.通过学习<Python函数值传递和引用传递>一节我们知道,根据实际参数的类型不同,函数参数的传递方式分为值传递和引 ...

  5. python注解实现原理_Python3注解+可变参数实现

    一.说明 1.1 关于注解 关于注解这个东西,最早是在大学学java的时候经常会看到某些方法上边@override之类的东西,一方面不知道其作用但另一方面似乎去掉也没什么影响,所以一直都不怎么在意. ...

  6. ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...

  7. java的可变参数介绍_Java基础 可变参数介绍(转载)

    本文章转载自:潜龙在渊的博客 一.可变参数简介 在不确定参数的个数时,可以使用可变的参数列表. 1. 语法: 参数类型...(三个点) 例如: void printArray(Object...) 注 ...

  8. python函数定义中参数列表里的参数是_python函数定义中的参数说明

    原博文 2020-05-23 07:50 − > 描述函数定义时 涉及到的 位置参数,默认参数,关键字参数,可变参数等的概念及用法 ## 1 示例代码 ``` #! /usr/bin/env p ...

  9. python函数参数列表_python函数列表

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python函数函数是python里组织代码的最小单元,python函数包含以下 ...

最新文章

  1. java n个点 凸多边形_hrbustoj 1291 点在凸多边形内
  2. SILK 的 Delay Decision 和 Dither
  3. GitHub 上值得关注的 iOS 开源项目
  4. 什么是Java序列化,如何实现java序列化
  5. UA MATH571A 多元线性回归V 自相关与非线性模型简介
  6. [转]在VS中为C/C++源代码文件生成对应的汇编代码文件(.asm)
  7. java已被弱化签名,高效Java第四十条建议:谨慎设计方法签名
  8. SQL server增删改查
  9. OpenGL采样贴图显示不出来
  10. 端口镜像--锐捷交换机
  11. FileInputStream.read()返回int类型原因
  12. 化繁为简,远光天擎助你一键云部署
  13. 游戏模型制作的注意事项——模型规范
  14. 电脑如何打开软键盘,教大家Win10如何打开软键盘的方法
  15. python怎么统计单词总数_python统计单词
  16. wandb报错:Exception: The wandb backend process has shutdown
  17. 自适应情侣纪念日记录网站源码
  18. c++ Primer课后练习9-31
  19. 使用计算机能佩戴老花镜,近视镜?远视镜?还是老花镜?——揭秘渐变多焦点眼镜的奥秘...
  20. 程序猿要chatpgpt干掉了?

热门文章

  1. 共享单车已死亡34家:每一个名字都带着血
  2. C4D常用操作——材质
  3. 透彻解析 RPC 原理
  4. 洛谷P2575 高手过招
  5. 和CIO问答软件项目实施管理
  6. 计算机镜像,电脑镜像怎么做.
  7. iOS 上的蓝牙框架 - Core Bluetooth for iOS
  8. 使用动态链接库的好处
  9. 00后抵达AI战场,初三学生研究与顶会投稿论文“撞题”用Python构建系统监测婴儿的母乳摄入量
  10. linux命令sudu,Linux命令 sudo用法详解