【发布时间】:2019-10-27 09:38:34
【问题描述】:
我正在尝试在 3.6 中创建 python 包,但我也希望向后兼容 2.7 如何为 3.6 编写代码和 2.7
例如,我有一个名为 geo_point() 的方法。
def geo_point(lat: float, lng: float):
pass
此函数在 3.6 中可以正常工作,但在 2.7 中无法正常工作,它显示语法错误我认为 2.7 不支持类型提示。所以我想编写另一个 2.7 支持的功能,当用户在 2.7 上运行我的包时,它会忽略所有不支持的功能
例如
@python_version(2.7)
def geo_point(lat, lng):
pass
是否可以让函数和python共同决定哪个函数兼容?
【问题讨论】:
-
Python 2 将在 2 个月内结束生命周期。在新项目中仍然支持它的努力会更糟吗?
-
虽然 python 将在 2020 年 1 月结束生命,但我知道相当多的项目可能会在 python2 中停留更长时间。这当然不是一个明智的选择,但对于庞大的遗留代码,有时别无选择。我仍然同意克劳斯的观点。如果不是真的有必要,那就花时间在这方面。
-
更正之前的评论:“如果不是真的有必要,那就花时间在这方面的努力上”应该是“如果不是真的必要,那么花不要时间在这上面努力”
标签: python