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 一个…

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

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

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

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

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

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

前端 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 蜂窝…

【STM32】USART串口通讯

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

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

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

基于Java微信小程序民宿短租系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…

IDEA中使用leetcode 刷题

目录 1.IDEA下载leetcode插件 2.侧边点开插件 3.打开网页版登录找到cookie复制 4.回到IDEA登录 5.刷题 6.共勉 1.IDEA下载leetcode插件 2.侧边点开插件 3.打开网页版登录找到cookie复制 4.回到IDEA登录 5.刷题 6.共勉 算法题来了不畏惧&#xff0c; 挑战前行是成长的舞台…

AI实战案例!如何运用SD完成运营设计海报?玩转Stable Diffusion必知的3大绝技

大家好我是安琪&#xff01; Satble Diffusion 给视觉设计带来了前所未有的可能性和机会&#xff0c;它为设计师提供了更多选择和工具的同时&#xff0c;也改变了设计师的角色和设计流程。然而&#xff0c;设计师与人工智能软件的协作和创新能力仍然是不可或缺的。接下来我将从…

EfficientNet-V2论文阅读笔记

目录 EfficientNetV2: Smaller Models and Faster Training摘要Introduction—简介Related work—相关工作EfficientNetV2 Architecture Design—高效EfficientNetV2架构设计Understanding Training Efficiency—了解训练效率Training-Aware NAS and Scaling—训练感知NAS和缩放…

1、Python编程入门:从硬件基础到解释器类型

Python是一种免费、开源、跨平台、动态、面向对象的编程语言。它以其简洁易读的语法和强大的功能而闻名&#xff0c;广泛应用于各种领域&#xff0c;如Web开发、数据分析、人工智能等。本文将介绍Python的基本概念、执行方式以及常用的Linux命令&#xff0c;帮助初学者快速入门…

DHT11

第一个传感----DHT11 通过前面的学习&#xff0c;你已经学会了控制IO口、延时函数、串口的收发。接下来&#xff0c;你就可以借助以上的知识点完成自己的第一个传感器--DHT11啦&#xff01; DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。应用非常广…

【ai】tx2 nx : fix pip升级警告

jetson 环境同样出现:【原创】pip3 使用报警问题在对 Ubuntu 18.04 上的 pip3 9.0.1 版本使用 pip install -U pip 的方式进行升级后,再使用 pip 就会出现一堆警告信息。这个警告信息目前不影响使用,但从警告信息来看,会在未来版本中出现失败风险。 当前系统中存在了两个不…

【浅学】大模型(科普向_持续更新中)

【读者福利】大模型全套教程&#xff0c;微信扫码领取~ 1. 大模型概述 大模型是指具有数千万甚至数亿参数的深度学习模型。 当我们提及大模型时&#xff0c;通常指的是大语言模型&#xff08;Large Language Model&#xff0c;简称LLM&#xff09;&#xff0c;即文字问答模型…

RAID详解及配置实战

目录 一、RAID磁盘阵列及详解 1.1 了解RAID 1.1.1 简单理解 1.1.2 对比了解 1.2 RAID磁盘阵列介绍 1.3 RAID功能实现 1.4 RAID实现的方式 1.5 RAID级别详解 1.5.1 RAID -0 1.5.2 RAID -1 1.5.3 RAID -5 1.5.4 RAID -10&#xff08;RAID 10&#xff09; 1.6 阵列卡…