我想使用 PEP570 中定义的新的仅位置参数语法,但我也想保持与 python 3.7 的兼容性(直接运行脚本def f(a, /, b):
会直接导致语法错误)。有没有办法做到这一点?
如果没有,对于包维护者,他们是否必须避免使用新功能,直到放弃对 python 3.7 的支持?
我想使用 PEP570 中定义的新的仅位置参数语法,但我也想保持与 python 3.7 的兼容性(直接运行脚本def f(a, /, b):
会直接导致语法错误)。有没有办法做到这一点?
如果没有,对于包维护者,他们是否必须避免使用新功能,直到放弃对 python 3.7 的支持?
简短的回答:不,没有办法做到这一点。
我想从技术上讲,当安装在旧版本的 Python 上时,您可能能够在您的程序中安装一个 hack,以编程方式删除仅位置语法。setup.py
但这进入了极端的混乱领域。在实践中,您的选择是: