IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 函数的参数类型 -> 正文阅读

[Python知识库]Python 函数的参数类型

Python 在定义函数时不需要指定形参的类型,完全由调用者传递的实参类型以及 Python 解释器的理解和推断来决定。
接下来,本文将介绍以下四个函数的参数类型:

  • 位置参数、默认值参数、关键参数与可变长度参数。

1.?位置参数

位置参数:调用函数时实参和形参的顺序必须严格一致,并且实参和形参的数量必须相同

即下面的格式:

def showArgs(a, b, c):
	print(a, b, c)
	
show(1, 2, 3) # 1 2 3
show(1, 2) # TypeError: showArgs() missing 1 required positional argument: 'c'
show(1, 2, 3, 4) # TypeError: showArgs() takes from 1 to 3 positional arguments but 4 were given

2.?默认值参数

默认值参数:在调用有默认值参数的时,可以不对有默认值的参数赋值(如果有,则会使用传递的值),即与上面的位置参数不同的是,可以缺少参数传递,不过也不能多传。

它的使用方法:即,在定义函数时def demo(a=1, b=2) 填写参数的时候给一个默认值。

举个例子看看:

def showArgs(a, b=3, c=2):
	print(a, b, c)
	
showArgs(1, 2, 3) # 1 2 3
showArgs(1, 2) # 1 2 2
showArgs(1, 2, 3, 4) # TypeError: showArgs() takes from 1 to 3 positional arguments but 4 were given

注意事项:

  • 默认值参数必须出现在函数参数列表的最右端任何一个默认值参数右边不能有非默认值参数
  • 默认值参数的赋值只会在函数定义时被解释一次
    (所以默认值参数最好为不可变类型)

3.?关键参数

使用,关键参数,实参顺序和形参顺序可以不一样,不过如果参数没有默认值,参数数量也要一致。

它的使用方法:在调用函数时demo(a=1, b=2) 来指定参数的值。

举个例子看看:

def showArgs(a, b, c):
	print(a, b, c)

showArgs(1, 2, c=3) # 1 2 3
showArgs(a=1, c=22, b=33) # 1 33 22

注意事项:

  • 关键参数后面不能跟随位置参数

错误情况:

showArgs(1, 22, b=33)

它会报这个错误:TypeError: showArgs() got multiple values for argument 'b',因为虽然 b 使用了关键参数,但是前面两个为位置参数,通过位置参数,b 已经被赋值过了

showArgs(a=11, c=222, 333)

它会报这个错误:SyntaxError: positional argument follows keyword argument,关键参数后面不能跟有位置参数


4.?可变长度参数

可变长度参数:即参数长度不固定
它有着以下两种形式:

  • *parameter: 接收多个位置实参并将其放在元组
  • **parameter: 接收多个关键参数并将其放在字典

其中的 parameter 可以自定义为自己想要的名字

4.1) *parameter

必须接收的是位置参数!!!
它的使用方法如下:

def showArgs(*args):
	print(args)

showArgs(1, 2, 3) # (1, 2, 3)
showArgs(7, 8) # (7, 8)

在这里插入图片描述

4.2) **parameter

必须接收的是关键参数!!!
它的使用方法如下:

def showArgs(**args):
	print(args)

showArgs(a=1, b=2, c=3) # {'a': 1, 'b': 2, 'c': 3}
showArgs(a=7, b=8) # {'a': 7, 'b': 8}

在这里插入图片描述

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-06-20 22:59:42  更:2022-06-20 22:59:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:25:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码