当前位置: 首页 > news >正文

类型签名,位置参数,关键字参数

一、类型签名(type signature)

二、位置参数(positional argument)

三、关键字参数(keyword argument)

  • 只是“说明书”,不是真正的函数体。

  • 写成 def f(a: int, b: str) -> bool: 里的 intstrbool 就是类型签名。

  • 作用:让 IDE 自动补全、让 mypy/pyright 做静态检查、让人一眼看懂输入输出。

  • 按顺序传;调用时不能写形参名

  • def add(x, y, /):   # / 表示 x、y 只能位置传return x + yadd(1, 2)      # 正确
    add(x=1, y=2)  #  会报错

  • 调用时必须写形参名,顺序随意。

  • def greet(name, *, age):   # * 后面必须关键字传print(f"{name} is {age}")greet("Tom", age=18)   # ✅
    greet("Tom", 18)       # ❌

    三、混合使用示例

  • def foo(a, b, /, c, d=None, *, e, f: int = 0) -> str:...

    调用规则

  • a, b:只能位置传

  • c, d:位置或关键字都可

  • e, f:只能关键字传

http://www.dtcms.com/a/352280.html

相关文章:

  • open webui源码分析8—管道
  • 域名常见问题集(十一)——为什么要进行域名管理?
  • 【实时Linux实战系列】基于实时Linux的音频实时监控系统
  • 从16个粉丝到680万年收入:AI创业的117天奇迹
  • 声明式微服务通信新范式:OpenFeign如何简化RestTemplate调用
  • Windows下实现类似`watch nvidia-smi`的实时监控效果
  • 进入docker中mysql容器的方法
  • Java:TreeSet的使用
  • (Arxiv-2024)VideoMaker:零样本定制化视频生成,依托于视频扩散模型的内在力量
  • QT qml(quick3D)模型的移动
  • 专业解读《Light》封面:可调谐混合超表面(THCMs)如何革新下一代LiDAR系统
  • 3D游戏角色建模资源搜索指南(资料来源于网络)
  • 湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
  • JavaWeb之分布式事务规范
  • LInux(二十一)——Linux SSH 基于密钥交换的自动登录原理简介及配置说明
  • jenkins2025配置邮箱发送
  • 基于Android的车位预售预租APP/基于Android的车位租赁系统APP/基于Android的车位管理系统APP
  • Leetcode—1163. 按字典序排在最后的子串【困难】
  • Linux(二十二)——服务器初始化指南
  • cuda编程笔记(16)--使用 cuDNN 实现卷积、激活、池化等反向操作
  • 刀客doc:沃尔玛取消与TTD的独家合作,对程序化广告意味着什么?
  • 【RAGFlow代码详解-23】聊天系统架构
  • 字节跳动国际版 TRAE 深度解析:重新定义 AI 时代的编程体验
  • Docker化性能监控平台搭建:JMeter+InfluxDB+Grafana全攻略
  • Vite 模块联邦插件 实现微前端架构,其核心原理概述
  • 网络安全零基础入门:2025核心知识与系统学习路径分享
  • 工地考勤数据、监控回传与远程办公需求,如何通过贝锐蒲公英实现?
  • 做项目总是出问题,如何提升项目管理能力?
  • (MySQL索引事务) 本节目标 索引 事务
  • JUC之并发编程总结