1. 位置参数
  2. 默认参数
  3. 可变参数
  4. 命名关键字参数
  5. 关键字参数
 def position_only(a, b):
print(a, b) def keyword(a='a', b='b'):
print(a, b) def arg(a, *args):
print(a, args) def kw(a, **kwargs):
print(a, kwargs) def many1(a, b, c='c', *args, d='d', e='e', **kwargs):
print(a, b, c, args, d, e, kwargs) def many2(a, b='b', c='c', *, d='d', e='e', **kwargs):
print(a, b, c, d, e, kwargs) if __name__ == '__main__':
position_only('a', 'b')
keyword()
keyword('b', 'a')
keyword(b='a', a='b')
arg('a', 'b', 'c', 'd', 'e')
kw('a', b='b', c='c')
many1('a', 'b', 'c', e='E', d='D', f='f', g='g')
many2('a', 'B', 'C', f='f', g='g')

运行结果为:

a b
a b
b a
b a
a ('b', 'c', 'd', 'e')
a {'b': 'b', 'c': 'c'}
a b c () D E {'f': 'f', 'g': 'g'}
a B C d e {'f': 'f', 'g': 'g'}

因此:

  1. 位置参数按参数位置依次传递引用,若传入参数个数不符,则提示错误。
  2. 默认参数与位置参数类似,但可以指定变量名(此时可以不按顺序传入数据),若传入数据少于参数个数,则使用默认值。
  3. 可变参数用于处理传入数据多于参数个数的情况,默认将多余数据存入元组args。
  4. 命名关键字参数用于传入键值对,它与默认参数类似,但差别在于无法通过位置自动传入数据。
  5. 关键字参数用于处理传入键值对不属于默认参数和关键字参数的情况,默认将多余键值对存入字典kwargs。

注意:

传入参数的顺序必须为1-5,若*args不存在,可加入*参数,以区分默认参数和命名关键字参数。

Python参数类型的更多相关文章

  1. Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数

    Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...

  2. python 参数类型理解

    简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...

  3. arcgis python 参数类型和含义

    数据类型 datatype 关键字 描述 地址定位器 DEAddressLocator 用于地理编码的数据集,存储地址属性.关联的索引以及用于定义将地点的非空间描述转换为空间数据这一过程的规则. 地址 ...

  4. Python函数小结(1)--参数类型(*, ** 的区别), 闭包

    刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来 ...

  5. Python 带参数的装饰器 [2] 函数参数类型检查

    在Python中,不知道函数参数类型是一个很正常的事情,特别是在一个大项目里.我见过有些项目里,每一个函数体的前十几行都在检查参数类型,这实在是太麻烦了.而且一旦参数有改动,这部分也需要改动.下面我们 ...

  6. Python的参数类型

    参数类型: 1.必填参数,位置参数(positional arguments,官方定义,就是其他语言所说的参数) 2.默认值参数,非必传 3.可变参数,非必传,不限制参数个数,比如说给多个人发邮件,发 ...

  7. [Python]可变类型,默认参数与学弟的困惑

    一.学弟的困惑 十天前一个夜阑人静.月明星稀的夜晚,我和我的朋友们正在学校东门的小餐馆里吃着方圆3里内最美味的牛蛙,唱着最好听的歌儿,畅聊人生的意义.突然,我的手机一震,气氛瞬间就安静下来,看着牛蛙碗 ...

  8. python函数参数类型及其顺序

    根据inspect模块官文文档中关于函数参数类型的相关说明,python函数参数共有五种类型,按顺序分别为:POSITIONAL_ONLY.POSITIONAL_OR_KEYWORD.VAR_POSI ...

  9. Python 函数参数类型大全(非常全!!!)

    Python 函数参数类型大全(非常全!!!) 1.在python编写程序里面具有函数文档,它的主要作用是为了让别人可以更好的理解你的函数,所以这是一个好习惯,访问函数文档的方式是: MyFuncti ...

随机推荐

  1. day14 迭代器和生成器

    1.迭代器 名词解释 什么是迭代:迭代是一个重复过程,但是每次重复都是基于上一次的结果而继续的 #下列循环只是单纯的重复,没有意义 while True: print(1) #基于索引的迭代取值 l ...

  2. eclipse及tomcat设置编码

    新装的eclipse新导入项目会乱码,解决办法: 右击项目选properties,找到resources选择utf-8 改后乱码解决 乱码解决后可能还会有红叉,project clean即可 一劳永逸 ...

  3. 893. Groups of Special-Equivalent Strings 奇数偶数位上的相同数

    [抄题]: You are given an array A of strings. Two strings S and T are special-equivalent if after any n ...

  4. spring boot项目打包成war并在tomcat上运行的步骤

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改打包形式 在pom.xml里设置 <packaging>war</packaging> 二 ...

  5. Java反射获取对象VO的属性值(通过Getter方法)

    有时候,需要动态获取对象的属性值. 比如,给你一个List,要你遍历这个List的对象的属性,而这个List里的对象并不固定.比如,这次User,下次可能是Company. e.g. 这次我需要做一个 ...

  6. cmake 添加头文件目录,链接动态、静态库

    罗列一下cmake常用的命令. CMake支持大写.小写.混合大小写的命令. 1. 添加头文件目录INCLUDE_DIRECTORIES 语法: include_directories([AFTER| ...

  7. redhat 5.6安装wireshark

    mkdir -p /mnt/cdrom mount -t iso9660 /dev/cdrom /mnt/cdrom cd mnt/cdrom/Server rpm -ivh lm_sensors-- ...

  8. UI移动设备屏幕知识

    今天同学给我了一个设计UI的软件,其实我是一头雾水的,有点孤陋寡闻了,设计UI还有这样的软件.百度了下,看见这篇文章还是很有收获的,原来UI还是一门如此高深的学问.把这篇文章和大家一起分享吧,希望你们 ...

  9. vue之微信登录

    参考文章https://www.cnblogs.com/examine/p/4634947.html 微信开放平台和公众平台的区别1.公众平台面向的是普通的用户,比如自媒体和媒体,企业官方微信公众账号 ...

  10. React-router4 第四篇 Custom Link 自定义链接

    直接贴代码 虽说我这么懒的人应该不会自定义标签,何必呢,,但是我还是看了官方的例子 直接抄过来, exact 属性:根据我的测试,这个属性应该和路由的精确匹配有关有关,当值为true时,路由是会精确匹 ...