Python 参数类型

一 理解Python中的Parameters & Arguments

Parameters:形参

Arguments:实参

二 Python的实参(Arguments)类型

实参类型总结
  • 位置参数(Positional Arguments)  :函数调用时通过入参的顺序来进行值传递
  • 关键字参数(Keyword Arguments):函数调用时通过形参的名称来指定值传递

三 Python的形参(Parameters)类型

形参类型总结

在Python中,函数形参主要分为以下几类:

1. 位置或关键字参数 (Positional-Or-Keyword Arguments):指的是在函数调用时可以按位置传入(通过实参的位置),也可以通过关键字参数的形式(通过实参的名称)传入的参数,这是最常见的参数类型。

2.仅限位置参数 (Position-Only Arguments):在函数调用时只能使用位置传递(按位置传入)的参数。在Python 3.8及更高版本中,可以使用 符号来定义仅限位置参数的函数,标记之前的参数是“仅限位置参数”。

def func(pos_only1, pos_only2, /, positional_or_keyword):pass

3. 仅限关键字参数 (Keyword-Only Arguments):在函数调用时只能使用关键字参数的形式(通过参数名传递)来指定。在Python 3.8及更高版本中,可以使用 符号来定义仅限关键字参数的函数,标记之后的参数是“仅限关键字参数”。

def func(pos_only1, pos_only2, *, key_only1, key_only2):pass

4. 可变参数(Variable-Length Arguments):这些参数允许在函数调用时传递可变数量的参数。可变参数分为两种:

  • *args(Var-positional 可变位置参数):使用星号(*)表示,可以接受任意数量的位置参数。这些参数将被收集到一个元组(tuple)中。例如:

  • **kwargs(Var-keyword 可变关键字参数):使用双星号(**)表示,可以接受任意数量的关键字参数。这些参数将被收集到一个字典(dict)中。例如:

四 总结

1. 形参出现在函数定义中,实参出现在函数调用中。
2. 实参有两种类型(位置实参和关键字实参),形参有五种类型(位置或关键字、仅限位置、仅限关键字、可变位置和可变关键字)
3. 位置参数也可以具有默认值,可以使用关键字指定。
4. 在函数定义中,位于之前的所有参数都是严格的位置参数(仅限位置)
5. 在函数定义中,位于 * 之后的所有参数都是严格的关键字参数(仅限关键字)
6. *args 保存任意数量剩余的位置实参。
7. **kwargs 保存任意数量剩余的关键字实参。
8. 在函数调用中,位置实参不能位于关键字实参之后
9. 在函数定义中,**kwargs 之后不能有其他参数。这是所有参数的结尾

参考资料:

1. https://pythonsimplified.com/python-parameters-and-arguments-demystified/

2. 腾讯元宝 (tencent.com)

3.智谱清言 (chatglm.cn)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/35365.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】094图书馆自习室座位预约管理微信小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

华为HCIP Datacom H12-821 卷14

1.判断题 如图所示, 同一局域网中的四台路由器运 IS-IS,其中 R1 是 DIS. 则 R2、R3. R4 分别和 R1 建立邻接关系,R2、R3、 R4 之间不建立邻接关系。 A、对 B、错 正确答案:B 解析: 所有路由器互相都是邻接关系

[图解]建模相关的基础知识-19

1 00:00:00,640 --> 00:00:04,900 前面讲了关系的这些范式 2 00:00:06,370 --> 00:00:11,570 对于我们建模思路来说,有什么样的作用 3 00:00:12,660 --> 00:00:15,230 我们建模的话,可以有两个思路 4 00:00:16,790 --> 00:00:20,600 一个…

开源分享:一套完整的直播购物系统源码

直播购物已经成为一种炙手可热的电商模式,吸引了无数商家和消费者的目光。对于开发者来说,构建一个功能齐全、用户体验优良的直播购物系统是一项复杂的任务。本文将分享一套完整的直播购物系统源码,帮助开发者快速搭建自己的直播购物平台。 …

如何运用QGIS去修改土地利用类型的数值

. 打开属性表并编辑 步骤一: 在图层面板中选择你的土地利用图层,右击选择“打开属性表”。步骤二: 在属性表中找到你想要修改的数值字段。点击“切换编辑模式”按钮(一个铅笔图标),进行编辑。步骤三: 直接在表格中修改数值&#…

idea运行报错 java: 错误: 无效的源发行版:16

1、打开File——>Project Structure——>Project;选择电脑安装的JDK版本。 并检查File——>Project Structure——>Modules的JDK版本

qt qml-如何在QML中使用QCustomPlot之曲线/折线示例

文章目录 步骤1:安装QCustomPlot步骤2:创建QCustomPlot包装类步骤3:注册自定义QML组件步骤4:创建QML界面代码详解总结在QML中使用QCustomPlot绘制曲线,需要将QCustomPlot作为自定义的QQuickItem,然后将其嵌入到QML中。QCustomPlot是一个功能强大的C++绘图库,用于绘制2D图…

TMGM外汇平台: 纽元未来走势,新西兰即将降息

2024年6月26日,全球金融市场对新西兰联储即将采取的货币政策持续关注。分析师普遍预估新西兰将实施降息政策,这一政策调整预计将对新西兰元(纽元)的国际交易价值产生重大影响。本文将TMGM深入探讨新西兰经济的当前状况&#xff0c…

【差分数组】个人练习-Leetcode-2249. Count Lattice Points Inside a Circle

题目链接:https://leetcode.cn/problems/count-lattice-points-inside-a-circle/description/ 题目大意:给出一系列圆的圆心坐标和半径,求在这些圆内部(边缘也算)的格点的数量。 思路:简单的思路就是暴力…

专业与学校的终极抉择:如何为未来铺就最佳道路

随着2024年高考的帷幕落下,成千上万的考生开始面临一个全新的挑战:在选择大学和专业的过程中,如何做出最适合自己的决策?每一位高考生都将面对这一重要抉择,这不仅关系到他们的学术生涯,更影响着他们的未来…

前端 CSS 经典:模拟 material 文本框

效果 思路 定义三个元素&#xff0c;文本框&#xff0c;下划线&#xff0c;占位文字。input 聚焦时通过 ~ 选中兄弟元素&#xff0c;利用 required 属性 css 中的 valid 验证&#xff0c;判断 input 中是否有输入。写入过渡效果。 实现代码 <!DOCTYPE html> <htm…

深圳,不止是“搞钱之都”

深圳又结结实实火了一把。 “建议深圳人吃饭不要谈工作”&#xff0c;这条微博话题热度飙升&#xff0c;超过五百多万人围观&#xff0c;引来无数网友吐槽“深圳人饭局的真实写照”。 从高档粤菜包间到路边小摊&#xff0c;从茶餐厅到烧烤摊&#xff0c;深圳人吃饭似乎总绕不…

【RF Transceiver】ADRV9040 THEORY OF OPERATION

工作原理 概述 GENERAL 该 ADRV9040 是一款高度集成的射频收发器&#xff0c;能够针对各种应用进行配置。该器件集成了在单个器件中提供所有发射器、流量接收机和观测接收机功能所需的所有射频、混合信号和数字模块。可编程性使该器件能够适应 TDD 模式下的许多 3G/4G/5G 蜂窝…

2025秋招NLP算法面试真题(十一)-Transformer的并行化

正文 本文主要谈一下关于 Transformer的并行化。文章比较短&#xff0c;适合大家碎片化阅读。 Decoder不用多说&#xff0c;没有并行&#xff0c;只能一个一个的解码&#xff0c;很类似于RNN&#xff0c;这个时刻的输入依赖于上一个时刻的输出。 对于Encoder侧&#xff1a; …

【STM32】USART串口通讯

1.USART简介 STM32芯片具有多个USART外设用于串口通讯&#xff0c;它是 Universal Synchronous Asynchronous Receiver and Transmitter的缩写&#xff0c; 即通用同步异步收发器可以灵活地与外部设备进行全双工数据交换。有别于USART&#xff0c; 它还有具有UART外设(Univers…

淘客返利系统的多租户架构设计

淘客返利系统的多租户架构设计 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 引言 随着电子商务的迅猛发展&#xff0c;淘客返利系统在市场上得到了广泛的应…

Vue2中为啥不用 Object.defineProperty 实现响应式数组 ? 不能监听到数组变化吗?

Vue2.0 对于数据响应式的实现上是有一些局限性的&#xff0c;比如&#xff1a; 无法检测数组和对象的新增&#xff1b; 无法检测通过索引改变数组的操作&#xff1b; 针对以上问题&#xff0c;我们一般都会把锅甩给 Object.defineProperty。所以&#xff0c;在Vue 3.0 中&am…

每天一个数据分析题(三百九十一)- 多元线性回归

在多元线性回归模型中自变量的系数矩阵X为列满秩&#xff0c;则表明矩阵X的列向量之间是什么关系&#xff1f; A. 线性相关 B. 存在多重共线性 C. 线性无关 D. 无法判断 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项…

No module named ‘cStringIO‘

No module named cStringIO 解决方法&#xff1a; import io as sio

Linux---- 防火墙

查看防火墙状态 systemctl status firewalld关闭防火墙 systemctl stop firewalld永久关闭防火墙 systemctl stop firewalld systemctl disable firewalld打开防火墙 systemctl start firewalld查看所有已开放的临时端口 firewall-cmd --list-ports查看所有永久开放的端口…