如何解决仅位置参数与python 3.7兼容
我想使用PEP570中定义的新的仅位置参数语法,但是我也想保持与python 3.7的兼容性(使用def f(a,/,b):
直接运行脚本会直接导致语法错误)。反正有这样做吗?
如果没有,对于软件包维护者,他们是否必须放弃使用新功能,直到删除python 3.7支持?
解决方法
简短的回答:不,没有办法。
从技术上讲,我想您可能可以在您的setup.py
中进行破解,以编程方式删除仅在旧版Python上安装的仅位置语法。但这已经进入了极端的困境。实际上,您的选择是:
- 在3.7版不受支持之前,请勿使用仅位置参数
- 为3.7和更早版本与3.8+保持单独的代码库
- 即使您的项目仍然是受支持的Python版本,也不支持3.7及更早版本的项目;要求用户进行更新(从3.x升级到3.x + 1所涉及的工作并不极端;这不像十年前放弃对Python 2的支持或其他任何东西)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。