1. 位置参数
  2. 默认参数
  3. 可变参数
  4. 命名关键字参数
  5. 关键字参数
 1 def position_only(a, b):
 2     print(a, b)
 3
 4 def keyword(a='a', b='b'):
 5     print(a, b)
 6
 7 def arg(a, *args):
 8     print(a, args)
 9
10 def kw(a, **kwargs):
11     print(a, kwargs)
12
13 def many1(a, b, c='c', *args, d='d', e='e', **kwargs):
14     print(a, b, c, args, d, e, kwargs)
15
16 def many2(a, b='b', c='c', *, d='d', e='e', **kwargs):
17     print(a, b, c, d, e, kwargs)
18
19 if __name__ == '__main__':
20     position_only('a', 'b')
21     keyword()
22     keyword('b', 'a')
23     keyword(b='a', a='b')
24     arg('a', 'b', 'c', 'd', 'e')
25     kw('a', b='b', c='c')
26     many1('a', 'b', 'c', e='E', d='D', f='f', g='g')
27     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不存在,可加入*参数,以区分默认参数和命名关键字参数。

转载于:https://www.cnblogs.com/lyg-blog/p/8798967.html

Python参数类型相关推荐

  1. 对Python参数类型详解以及学习中遇到的坑

    由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析. 参数类型 首先我们列举一下有关于Python的参数类型,以及实际上的 ...

  2. python参数类型限定_python限定方法参数类型、返回值类型、变量类型等|python3教程|python入门|python教程...

    https://www.xin3721.com/eschool/python.html typing模块的作用 自python3.5开始,PEP484为python引入了类型注解(type hints ...

  3. python参数类型_Python 参数类型和参数匹配模型

    Python 方法的参数种类有很多,而不是通常语言定义的那样, Python 方法的传参能力要比想象的强大很多.很多初学者可能对一些库中带 * 带 ** 的参数类型非常奇怪,但是其实这些语法正是保证 ...

  4. python参数类型定义_Python的参数类型

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

  5. python参数类型检查_Python中的类型检查

    本文中所有代码均运行在Python 2.7上 为什么要进行类型检查? 总所周知,Python是一门典型的动态语言,在变量定义.使用的过程中遵循duck typing,当对某一变量进行操作时才去检查它是 ...

  6. python 参数类型的多态_【Python】面向对象:类与对象\封装\继承\多态

    六.Python面向对象--类与对象\封装\继承\多态 1.什么是面向对象编程 1.1 程序设计的范式:程序可控,易于理解 1.2 抽象并建立对象模型 1.3 程序是不同对象相互调用的逻辑.每个对象在 ...

  7. python函数的参数可以接收哪些类型的数据_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...

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

  8. Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 1 def f(ham: str, eggs: str = 'eggs') -> str : 2 print("Ann ...

  9. Python基本语法_函数属性 参数类型 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

最新文章

  1. 算法学习:manacher
  2. vagrant 基本命令讲解
  3. OllyDbg 使用笔记 (十二)
  4. bash shell脚本访问PostgreSQL的三种方式
  5. 微服务架构基本介绍与微服务设计模式
  6. Redis学习笔记——简介及配置
  7. Linux LVM的PV操作
  8. 希尔密码(原理+代码)
  9. x264 vbv-maxrate与vbv-bufsize对码率控制
  10. 鹏业安装算量软件功能按钮汇总(一)
  11. 1分钟教你快速使用C#查找和替换PDF文件中的文本
  12. k开头的英文单词计算机专业,K开头英语单词一览
  13. dubbo启动失败,不报错 Stopping service [Tomcat] was destroying! has been built.
  14. ubuntu16.04编译obmc
  15. 翻译:swift 5 iOS Accessibility从入门到精通
  16. 泰坦尼克号沉船数据分析与可视化、数据建模与分类预测【Python | 机器学习-Sklearn】
  17. pg、pgadmin安装指导
  18. 关于Linux的本地回环路由lo [127.0.0.1 ]
  19. 【100%通过率】华为OD机试真题 Python 实现【核酸最快检测效率】【2022.11 Q4 新题】
  20. 简易数字示波器,DDS信号源的设计方案

热门文章

  1. View Controller Programming Guide for iOS---(七)---Resizing the View Controller’s Views
  2. 网络传输层之TCP、UDP详解
  3. ${oid?c}的使用
  4. Linux下MPlayer的安装
  5. 你对ES6究竟了解多少?—— 有这一篇就够用了
  6. react --- 生命周期 给子组件传递数据
  7. jquery --- 全选、全不选、反选、提交
  8. es6 --- 用promise对象实现Ajax操作的一个实例
  9. Python并发编程之concurrent.futures
  10. 我的一点企业做云经验