You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python函数参数列表末尾的/符号有什么作用?

Python函数参数中/符号的作用

这个/是Python 3.8引入的语法标记,用来界定仅限位置参数的范围——/左侧的所有参数,只能通过位置传递,不能使用关键字参数的形式传值。

拿你给出的异步函数举例:

async def coro(self, a, b, /) -> None:
    ...

这里的self、a、b都属于仅限位置参数,调用时必须按位置传值,以下写法是错误的:

# 错误:/左侧的参数不能用关键字传递
await obj.coro(a=1, b=2)

正确的调用方式是:

# 正确:按位置顺序传参
await obj.coro(1, 2)

使用/的常见场景:

  • 避免参数名冲突:比如函数需要接收一个和内置标识符(如dict、list)同名的参数,用/限定位置传递后,调用时直接传值即可,无需担心命名冲突。
  • 模拟内置函数行为:很多Python内置函数(如len()、range())仅支持位置传参,用/能让自定义函数的传参逻辑和它们保持一致。
  • 明确接口规范:如果函数原本设计为仅支持位置传参,加/可以清晰标记,防止后续调用者误用关键字传参引发问题。

内容的提问来源于stack exchange,提问作者dnbow.asker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:51:59