1.位置参数
位置参数要求调用时传入函数的参数必须和定义时的位置和个数一致,即一一对应,不可缺省

def func(a,b):sum = a + breturn sum
print(func(2,3)) //5
print(func(2)) //报错

2.默认参数
定义在位置参数后,作用是当参数缺省时,用定义的默认值替代

def func(a,b=3):sum = a + b return sum
print(func(2,4)) //6
print(func(2))  //5

3.可变参数
在tuple或list前加一个*,构造出可变参数。接收任意个参数,包括0个。用于函数参数不确定的情况

def func(*args):sum = 0for x in args:sum += xreturn sum print(func(1,2,3)) //6
//将list或tuple内全部元素作为可变参数
L = [1,2,3,4]
print(func(*L)) //10

4.关键字参数
在dict前加两个*,构造关键字参数。接收任意无限制的参数,用于扩展函数的功能

def func(a,b,**kw):sum = a+bprint(a,'+',b,'=',sum,kw)
func(2,3,color="black",phone="vivo")
// Out:2 + 3 = 5 {'color': 'black', 'phone': 'vivo'}//先组装dict,再作为关键字参数传进去
desc = {'color': 'black', 'phone': 'vivo'}
func(2,3,**desc)
// Out:2 + 3 = 5 {'color': 'black', 'phone': 'vivo'}

5.命名关键字参数
命名关键字参数指定了key,将关键字参数做了一个限制。以一个作为分割。如果已经存在可变参数,那么命名关键字不需要作为分割

def func(a,b,*,color):sum = a+bprint(a,'+',b,'=',sum,'color:',color)
func(2,3,color='black') // Out:2 + 3 = 5 color: black
func(2,3,color='black',phone='vivo') //报错 func() got an unexpected keyword argument 'phone'
//如果已经存在可变参数,那么命名关键字不需要*作为分割
def func(a,b,*args,color='red'):sum = a+bprint(a,'+',b,'=',sum,args,'color:',color)
func(2,3,color='black') //2 + 3 = 5 () color: black
func(2,3,4,5,color='black') // 2 + 3 = 5 (4, 5) color: black
//命名关键字支持默认值
func(2,3,4,5) //2 + 3 = 5 (4, 5) color: red

注意:
参数位置排列顺序:位置参数,默认参数,可变参数,命名关键字参数,关键字参数,

python疑问5:位置参数,默认参数,可变参数,关键字参数,命名关键字参数区别...相关推荐

  1. python主函数参数_Python main函数、命名行参数

    1,main函数 python是基于脚本顺序执行,没有main函数的概念,但是我们可以通过关键字 __name__来模拟. __name__:模块名,当执行文件和当前模块一致时,__name__的值等 ...

  2. python可变参数和关键字参数位置_python笔记——函数的参数(位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合)...

    定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解 ...

  3. Python函数独立星号(*)分隔的命名关键字参数

    如果需要限制关键字参数的输入名字,就需要使用到命名关键字参数的形式,所谓命名关键字参数就是给关键字参数限定指定的名字,输入其他名字不能识别.命名关键字参数和位置参数之间使用独立的星号(*)分隔,星号后 ...

  4. scala中命名参数函数_Scala中的命名参数和默认参数值

    scala中命名参数函数 In this post, we are going to discuss the following two important concepts in Scala abo ...

  5. python可变参数和关键字参数位置_python 参数笔记 -- 位置参数 关键字参数 命名参数 形式参数 默认参数 可变参数 可选参数 位置顺序...

    这么多名称,python到底有几种参数: 2种:普通参数(即位置参数,靠位置先后来指定参数),关键字参数(即命名参数,靠名字来指定参数). 常说的可变参数也就是普参的集合,*args. 常说的关键字参 ...

  6. Python位置参数、默认参数、可变参数、关键字参数、命名关键字参数、命名位置参数

    前言 定义一个名为temp的函数,参数列表共4个参数 def temp(first,second="Hello World",*args,**kwargs)print(first) ...

  7. Python基础教程:默认参数和可变参数

    1. 默认参数 在函数定义时附加一个赋值运算符(=)来为参数指定默认参数值.必选参数在前,默认参数在后,匹配时从左往右进行匹配. 使用默认参数有什么好处?最大的好处是能降低调用函数的难度. def e ...

  8. python3函数的参数:必选参数(位置参数)、默认参数、可变参数、关键字参数、命名关键字参数

    了解python函数的参数,是阅读各种库和源码的必需技能,请认真学习并掌握. 1.位置参数: def fn1(a):pass def fn2(a,b):pass msg: pass是占位符,当没有具体 ...

  9. python 默认参数_有趣的 Python 特性 3 | 当心默认可变参数这个大猪蹄子。

    本文字数:1575 字 阅读本文大概需要:4 分钟 写在之前 Python 提供了很多让使用者觉得舒服至极的功能特性,但是随着不断的深入学习和使用 Python,我发现其中存在着许多玄学的输出与之前预 ...

最新文章

  1. 网络营销外包期间如何提升网络营销外包外链优化效果?
  2. 惊心动魄两秒钟——刷X200 SLIC2.1程序
  3. VC++连接远程Oracle数据库
  4. 简单易懂的自动驾驶科普知识
  5. Linux系统集群架构线上项目配置实战(一)
  6. 利用多线程句柄设置鼠标忙碌状态
  7. LeetCode 271. 字符串的编码与解码(4位16进制字符+字符串)
  8. Rancher Labs联手NeuVector,提供容器管理与安全解决方案
  9. DeepFake——实际操作
  10. UI设计开发工具介绍
  11. python xlwt_python – 使用xlwt写入现有工作簿
  12. oracle startup mount是什么意思,startup,startup mount,startup nomount之间的区别-Oracle
  13. CICD详解(十)——Jenkins+Gitlab实战
  14. 摄像机镜头的计算方法
  15. DevOps 小组运维管理手册
  16. YARN中的任务队列调度器-容量调度器(Capacity Scheduler)
  17. 【字符串篇】力扣刷题2
  18. Springboot使用@EnableCache缓存
  19. git在commit时候不commit某些文件
  20. 边缘计算在自动驾驶中的应用场景丨边缘计算阅读周

热门文章

  1. 【转载】#pragma once与#ifndef #define #endif的区别
  2. windows phone开发第一步:搭建软件开发环境
  3. Objective C中@protected等关键字概述
  4. RedHat 5.4 RHCE VSFTPD学习笔记
  5. DISCUZ开启设计插件功能和显示嵌入点功能
  6. 细究fork()和vfork()
  7. git 创建本地仓库、远程仓库,上传项目
  8. centos7 firewall指定IP与端口访问(常用)
  9. 数字化平台之微信平台策略
  10. mybatis中的智能标签之二