string.isdigit()语言环境如何以及为何依赖?

Pet*_*mit 5 python locale digit

Python具有字符串函数来测试所有字符是否都是数字:string.isdigit().

在手册中写道:

对于8位字符串,此方法取决于区域设置

这种方法如何依赖于locale?在哪些区域设置中有0-9范围之外的数字?

此外,如果这是依赖于语言环境的,那么python是否有一种方法可以使用特定的语言环境(即只有0-9位数)进行检查.

Kos*_*Kos 1

python 是否有一种方法可以用特定的语言环境(即只有 0-9 位数字)来检查它。

最简单的方法:

>>> '1' in '1234567890'
True
>>> 'a' in '1234567890'
False
Run Code Online (Sandbox Code Playgroud)

您还可以检查ord,它可能会更快不是):

>>> ord('0') <= ord('a') <= ord('9')
False
>>> ord('0') <= ord('5') <= ord('9')
True
Run Code Online (Sandbox Code Playgroud)