def test_func(a, /, b): print(a, b) test_func(1, 2) 函数参数中的 / 是个啥? black 和 flake8 都提示异常,但是确实是可以正确执行的. python 3.9

def test_func(a, /, b): print(a, b) test_func(1, 2) 函数参数中的 / 是个啥? black 和 flake8 都提示异常,但是确实是可以正确执行的. python 3.9
1 jdhao Dec 26, 2020 via Android 不懂,没见过,楼下回答 |
2 chaleaoch OP 查到了. 仅限位置参数. |
3 Dreax Dec 26, 2020 |
4 renmu123 Dec 26, 2020 via Android 3.7 还是 3.8 加入的新语法 |
5 abersheeran Dec 26, 2020 / 之前的参数都不能以 name=value 这种形式传参。 与之类似功能的是 def f(a, *, b): ... * 之后的都必须以 name=value 的形式传参。 |
6 XIVN1987 Dec 26, 2020 |
7 crayygy Dec 27, 2020 via Android Python 3.6 3.7 3.8 好像都有一些新增的语法,之前遇到过一次脚本是基于 3.6 写的,结果在 Ubuntu 16.04(预装的 Python 3.5 以下的)就怎么也跑不过,查了以后才知道 |