【发布时间】:2021-02-12 13:06:54
【问题描述】:
正在处理具有接收值的函数的应用程序,我正在尝试查看它是int、float 还是string。在网上做了一些查找后,我发现 isnumeric() 和 isdigit() 涵盖了 int 和 float 两种情况,并且 string 是默认的。
太棒了...问题解决了:)
嗯,不完全是!因为这个应用程序支持 Python 版本 2.7.15、3.4.8、3.5.5、3.6.6,我了解到 Python 2 isumeric 和 isdigit 适用于 unicode,而 Python 3 适用于字符串。
所以我的 CI 通过了 Python 3 的测试,但没有通过 Python 2 :(
有没有办法检查正在动态运行的 Python 版本,并从那里使用正确的函数实现?
【问题讨论】:
-
sys.version? -
如果只是 2.xx 与 3.xx 之间的区别,我更喜欢
sys.version.major -
@Iron Fist 是的,它有帮助。很高兴看到有一种获取版本的方法,但必须将其很好地插入代码中。为帮助干杯
-
注意
isdigit和isnumeric:除了0-9之外,这两个函数也将特殊的Unicode字符视为数字,例如⑥U+2465 CIRCLED DIGIT SIX.. .
标签: python python-3.x python-2.7 python-unicode