初学python没多久,对python中函数的可变参数有点头晕,查阅了stackflow,现总结一下

可变参数

可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如

def testArg(*arg)

你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或列表

关键字参数

关键字参数在python中习惯用**kw表示,可以传入0到任意多个“关键字-值”,参数在函数内部被当做一个字典结构。例如

def testArg(**kw)
def testArg(city,**kw)

可以这样调用他

testArg(name='John',job='hoker')
testArg('beijin',name='john')

关键字参数可以用来后期扩充函数的功能,例如:先设定必要的参数,之后选择性的增加可选参数。

命名关键字参数

采用命名关键字参数可以限制函数传入的关键字参数,定义如下:

def testArg(city,name,*,age,job)

可以这样调用他

testArg('beijin','wfp',age='25',job='hoker')
testArg('beijin','wfp',addr='shanghai',age='25',job='hoker')

但是不能这样调用他

testArg('beijin','wfp','25',job='hoker')

会提示缺少一个参数,定义了命名关键字参数的话,必须要把全部的关键字参数传入进去

Python的三种可变参数相关推荐

  1. python可变参数的实验性_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  2. python什么是可变参数_详解Python的三种可变参数

    可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中,在函数内部会自动认为是一个元组或 ...

  3. python中什么是可变参数_详解Python的三种可变参数

    详解Python的三种可变参数 可变参数 可变参数应该最简单,在C/C++和Java等语言中都有,就是用*号来表示,例如 def testArg(*arg) 你可以传入任意多个元素(包括0)到参数中, ...

  4. python | 三种可变参数简述

    *,传递参数是关键字.在*后的参数通过关键字传递参数,一般作为形式参数时,赋予初始值,表示位置参数结束 def safe_division_c(number, divisor, *, numberze ...

  5. 详解python运行三种方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

  6. Python:三种方法计算最大公约数和最小公倍数(欧几里德法、穷举法、stein算法)

    Python:三种方法计算最大公约数和最小公倍数 1.穷举法 2.欧几里德法 3.Stein算法 题目:求取任意两个非负数(至多一个数为0)的最大公约数和最小公倍数: 参考资料:Python解决求最大 ...

  7. Python的三种格式化输出方式

    一.第一种,利用%(称之为:占位符)格式化输出: s = """ ------------- info ------------- name:%s age:%s job: ...

  8. python的运行方式_详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

  9. python手机版怎么运行项目或脚本-详解python运行三种方式

    方式一 交互式编程 交互式编程不需要创建脚本文件,是通过 Python 解释器的交互模式进来编写代码. linux上你只需要在命令行中输入 Python 命令即可启动交互式编程,提示窗口如下: $ p ...

最新文章

  1. 一脸懵逼学习Hadoop中的序列化机制——流量求和统计MapReduce的程序开发案例——流量求和统计排序...
  2. Git中的有个致命的远程执行漏洞
  3. Python pandas库159个常用方法使用说明(转载)
  4. UI设计素材模板|表单的临摹学习技巧
  5. vector的学习(系统的学习)
  6. 有关无限极分类并排序问题
  7. 形式语义学关于带权有向图最短路径的有模式函数算法
  8. linux内核登录不上,在嵌入式板上启动linux内核后,用root登录不了
  9. LeetCode 刷题笔记 2. 有效的括号(Valid Parentheses)
  10. 公司内部搭建git服务器
  11. Python 矩形积分法推荐采样点设置个数
  12. Virtualbox win7虚拟机全屏显示
  13. Gentoo USE参数清单中文详解
  14. 生产型企业财务管理报表
  15. 三跨考生准备考研复试(机试)之路(日记版)
  16. springboot-莫名其妙的登录界面“Please sign in“
  17. (C语言)蓝桥杯 - 成绩统计
  18. u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)
  19. 日本干预郭台铭收购东芝半导体 担心技术流向中国
  20. win10分辨率不能调整_win10系统怎么没有1440×900分辨率?

热门文章

  1. Linux基础命令-软件包管理
  2. python sql注入检测_在源代码中检测SQL注入
  3. 台式电脑显示无法自动修复此计算机,电脑Windowns无法自动修复此计算机 - 卡饭网...
  4. shell调用python获取返回值_[linux的shell脚本调用python脚本的返回值][shell调python][ubuntu的shell调用python脚本得到返回值]...
  5. 工作过程中更换了工作岗位,还需要再次约定试用期吗?
  6. VC编程经验汇总(一)
  7. QQ为何采用UDP协议?
  8. visual studio code 如何编译运行html css js文件
  9. ubuntu装gcc linux公社,Ubuntu 14.04 LST安装GCC 4.1.2
  10. Apache——Centos操作系统下 apache启动、停止、重启命令