gpt4 book ai didi

python - 如何隐藏旧 Python 版本的不兼容代码?

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:39 24 4
gpt4 key购买 nike

我正在为同时接受 *args**kwargs 参数的函数编写单元测试。此函数的合理用例是在 *args 参数之后使用关键字参数,即形式

def f(a, *b, **c):
print a, b, c

f(1, *(2, 3, 4), keyword=13)

现在只有became legal in Python 2.6 ;在早期版本中,上述行是一个语法错误,因此甚至不会编译为字节码。

我的问题是: 我如何测试较新的 Python 版本中提供的功能,同时仍然为较旧的 Python 版本运行测试?

我应该指出,该函数本身在早期的 Python 版本中运行良好,只有一些调用在 Python 2.6 之前是语法错误。我见过的用于检查 Python 版本的各种方法都不适用于此,因为它没有通过编译阶段。

如果可能的话,我宁愿不必将测试分成多个文件。

最佳答案

我认为您不应该测试 Python 是否正常工作;相反,专注于测试您自己的代码。这样做,完全有可能以适用于所有 Python 版本的方式编写特定调用,即:

f(1, *(2,3,4), **{'keyword':13})

关于python - 如何隐藏旧 Python 版本的不兼容代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1317946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com