Python - 仅限关键字参数 & 仅限位置参数

仅限位置参数(/)

# Python 3.8 新增
def demo1(a,b,/):
    return a,b

if __name__ == '__main__':
    demo1(1,2) # right
    demo1(1,b=2) # error


# demo1(1,b=2) 报错:
'''
Traceback (most recent call last):
  File "E:\PyProject\pytestDemo\demo10.py", line 19, in <module>
    demo1(1,b=2) # error
TypeError: demo1() got some positional-only arguments passed as keyword arguments: 'b'
'''

仅限关键字参数(*)

# Python3 新增
def demo2(a,*,b,c):
    return a,b,c

if __name__ == '__main__':
    demo2(1,b=2,c=3) # right
    demo2(1,2,3)  # error

# demo2(1,2,3) 报错: 
'''
Traceback (most recent call last):
  File "E:\PyProject\pytestDemo\demo10.py", line 18, in <module>
    demo2(1,2,3)
TypeError: demo2() takes 1 positional argument but 3 were given
'''
posted @   chuangzhou  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示