Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅位置参数与python 3.7的兼容性_Python_Python 3.x_Python 3.7_Python 3.8_Pep570 - Fatal编程技术网

仅位置参数与python 3.7的兼容性

仅位置参数与python 3.7的兼容性,python,python-3.x,python-3.7,python-3.8,pep570,Python,Python 3.x,Python 3.7,Python 3.8,Pep570,我想使用PEP570中定义的新的仅位置参数语法,但我还想保持与python 3.7的兼容性(直接使用def(a,/,b)运行脚本):直接导致语法错误)。有什么办法可以这样做吗 如果没有,对于包维护人员来说,他们是否必须在python 3.7支持被放弃之前避免使用新功能?简短回答:没有,没有办法做到这一点 我认为,从技术上讲,您可能能够在setup.py中安装一个hack,以便在安装到较旧版本的Python上时,以编程方式删除仅位置语法。但这正进入极度混乱的领域;实际上,您的选择是: 在3.7不受

我想使用PEP570中定义的新的仅位置参数语法,但我还想保持与python 3.7的兼容性(直接使用
def(a,/,b)运行脚本):
直接导致语法错误)。有什么办法可以这样做吗


如果没有,对于包维护人员来说,他们是否必须在python 3.7支持被放弃之前避免使用新功能?

简短回答:没有,没有办法做到这一点

我认为,从技术上讲,您可能能够在
setup.py
中安装一个hack,以便在安装到较旧版本的Python上时,以编程方式删除仅位置语法。但这正进入极度混乱的领域;实际上,您的选择是:

  • 在3.7不受支持之前,不要使用仅位置参数
  • 为3.7及更早版本和3.8版本维护单独的代码基础+
  • 不要在自己的项目中支持3.7及更早版本,即使它仍然是Python的受支持版本;要求用户进行更新(从3.x更新到3.x+1所涉及的工作并不极端;这不像十年前放弃对Python 2的支持或其他任何东西)