python函数定义中的/和*的作用

news2024/11/24 3:44:11

python函数定义中的/和*的作用

特殊参数https://docs.python.org/zh-cn/3/tutorial/controlflow.html#special-parameters

函数定义中的单独出现的/和*的作用

/ 和 * 是可选的。

/用来指明他前面的函数形参必须使用位置参数。

*用来指明他后面的函数形参必须为关键字参数的形式。

/ 和 *若同时出现,/ 在 *的前面。

下面给出示例

例1

def f1(a, b, /):

    return a + b

对于上面这个函数而言,调用f1时参数a、b只能是位置参数(而不能以关键字参数),即f1(2, 3)执行正确而f1(a=2, 3)和f1(2, b=3)将执行错误。

例2

def f1(a, *, b, c):

    return a + b + c

对于上面这个函数而言,调用时参数a可以是位置或关键字参数, 但b、c参数一定要以关键字参数的形式,如f1(1, b=4, c=5),否则将会报错。

例3

def f(a, b, /, c, *, d, e):

    print(a, b, c, d, e)

当我们调用函数f时,a、b只能是位置参数(而能以关键字形式传参);c可以是位置或关键字参数,d、e只能以关键字参数传参。

可以如下调用

f(10,20,30,d=40,e=50)

f(10,20,c=30,d=40,e=50)

而以下调用方式均会抛出异常

f(a=1, 2, c=3, d=4, e=5) # a不能以关键字参数传参

f(1, 2, 3, 4, e=5) # d只能以关键字参数传参

 

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

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

相关文章

儿童感染新冠后怎么用药?什么情况需要就医?

儿童感染新冠病毒的症状,病程有哪些特点?退烧药怎么选,怎么吃?孩子有什么症状需要立即就医?...01儿童感染新冠病毒的症状,病程有哪些特点?王泉:儿童是新冠病毒的易感人群。新冠病毒感…

Unity C#热更新框架ILRuntime接入

简介 ILRuntime项目为基于C#的平台(例如Unity)提供了一个纯C#实现,快速、方便且可靠的IL运行时,使得能够在不支持JIT的硬件环境(如iOS)能够实现代码的热更新 官方教程 https://ourpalm.github.io/ILRunt…

揭开 TLS 握手的神秘面纱:它是什么以及它是如何工作的

传输层安全性 (TLS) 旨在为网络通信增加安全性。 就是浏览互联网时HTTP和HTTPS的区别。 使用 TLS 为客户端和服务器增加了额外的工作,但它有其好处,包括: 机密性:TLS 将流量包装在加密隧道中。 这使得窃听者不可能在到达目的地的…

[Swift]UIView抖动动画

以拨打视频电话时的拨打按钮抖动为例 import UIKitclass PACallPrepareAlertView: UIView {IBOutlet weak var callIV: UIImageView!private var isLeave: Bool falsedeinit {isLeave true}override func awakeFromNib() {super.awakeFromNib()shakeAction()}private func s…

套接字编程之接口

套接字编程之接口学习套接字之前你需要知道的套接字编程套接字TCP协议和UDP协议区别UDP协议的编写UDP通信两端流程具体操作接口介绍创建套接字为套接字绑定地址信息发送数据接收数据关闭套接字字节序相关接口📌————本章重点————📌 🔗…

【Ansible】ansible 变量

ansible 变量 文章目录ansible 变量一、Ansible 变量介绍二、变量命名规则三、变量类型1.全局变量2.剧本变量3.资产变量4.Facts 变量5.注册变量6.变量优先级一、Ansible 变量介绍 在 PlayBook 一节中,将 PlayBook 类比成了 linux 中的shell。那么它作为一门 ansibl…

搜索引擎收录查询,是什么影响了网站被搜索引擎收录

搜索引擎收录是指程序通过辨别把网站内容进行收录,同时会对这些内容进行价值以及其他方面的辨别。 我们想要知道网站有没有被搜索引擎收录,可以借助iis7seo批量查来查询网站有没有被搜索引擎收录。打开iis7seo批量查,添加需要查询的网站网址&…

计算结构体,位段,联合体(共用体)的大小

目录 一、计算结构体的大小 1.1 结构体的计算并不是简单的类型加运算 1.2 内存对齐 1.2.1 内存对齐规则 1.2.2 图解内存对齐 二、计算位段的大小 2.1位段是什么 2.2 位段的内存分配 三、计算联合体的大小 3.1 什么是联合体 3.2 联合体的内存分配 END. 一、计算结构…

Consensus Algorithm -- Raft

The Raft Consensus Algorithm Go 实现:etcd/raft、dragonboat Rust 实现:TiKV C 实现 :nebula-graph-storage、 RethinkDB、logcabin 拜占庭将军问题 拜占庭将军问题(Byzantine failures),是由莱斯利兰…

绝绝子!这些技巧真方便

技巧一:快速切换窗口 如果你还在使用桌面底部“任务栏”切换软件窗口,不妨试试这个“快速切换窗口”快捷键,仅需按住【Alt】键不放,并连续点按【tab】键即可实现窗口的快速切换,果真只有亲自上手体验才知道有多香&…

NLP中的对话机器人——问答机器人的应用场景

引言 本文是七月在线《NLP中的对话机器人》的视频笔记,主要介绍FAQ问答型聊天机器人的实现。 讲得还不错,关键是只要1分钱 FAQ问答机器人 FAQ就是一些常见问题与回答,比如https://letsencrypt.org/docs/faq/。 但是我们要做的不是一问一答…

原生RedHat OpenStack搭建

文章目录OpenStack的搭建方式实验软件及镜像实验环境配置NTP节点初始化配置配置本地yum仓库上传镜像文件至NTP节点搭建基于http的网络yum源搭建NTP服务配置Controller控制节点和Compute计算节点初始化配置安装RedHat OpenStack安装部署OpenStack配置OVS桥接OpenStack的搭建方式…

大赛启幕:2023数字中国创新大赛启动发布会在福州召开

2023年1月10日,由数字中国建设峰会组委会主办,福建省数字办、福建省工信厅、福建省通信管理局、福州市政府、泉州市政府、三明市政府、龙岩市政府等共同承办的2023数字中国创新大赛在福建省福州市盛大启幕。 十二届全国政协副主席王钦敏发来书面致辞。中…

Windows 10随机性死机怎么办?

在诸多的电脑问题中,死机算是格外恼人。尤其是当你正在编辑文档,正在做图,正在玩游戏,电脑突然死机,万一再加上没保存…… 如果你在使用Win10系统的过程中遇到随机性死机的问题,赶紧看看这篇文章。 小编整…

LeetCode 113. 路径总和 II

🌈🌈😄😄 欢迎来到茶色岛独家岛屿,本期将为大家揭晓LeetCode 113. 路径总和 II,做好准备了么,那么开始吧。 🌲🌲🐴🐴 一、题目名称 LeetCode …

简单通讯录的实现

这次我们来实现一个简单的通讯录 目录 1.基本框架及的实现 2.相关结构体的实现 3.通讯录的初始化 4.新建联系人 5.显示所有联系人信息 6.删除联系人 7.查找指定联系人 8.修改联系人信息 9.对联系人进行排序 10.完整代码 既然是通讯录,我们要实现以下内容 …

内存泄漏调优案列

案列背景 最近在做公司项目核心接口压测和稳定性压测时,各接口的成功率不足99.99%,通过分割压测之后发现,在压测A服务时,内存上升明显,且伴有频繁的fgc发生 jvm老年代内存使用率已经达到了100%且应用的fgc有5000次&am…

离散数学与组合数学-02二元关系上

文章目录离散数学与组合数学-02二元关系上2.1 序偶和笛卡尔积2.1.1 有序组的定义2.1.2 笛卡儿积笛卡儿积的性质2.2 关系的定义2.2.1 二元关系定义与案例2.2.2 二元关系的数学符号定义案例枚举二元关系2.2.3 定义域和值域2.2.4 二元关系概念的推广2.3 关系的表示2.3.1 集合表示法…

RS-485/RS-422收发器芯片DP3085 兼容替代MAX3085EESA

什么是RS-485 典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义。RS-485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在2V~6V之间,表示一个逻辑状态&#xf…

【基于动态内存+文件操作】通讯录管理系统

前言 每一个项目文件的功能说明 打印基本菜单1.创建一个适合存放联系人信息的结构体和通讯录结构体2.初始化通讯录(加载上次的联系人,检查容量是否充足) 枚举常量内部内容 (1)增加联系人信息 (2)删除某个联系人信息 (3)查找联系人信息 …