|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 tommyyu 于 2022-1-25 16:43 编辑
isdecimal()、isdigit()、isnumeric()都是判断字符串是否为数字构成的字符串方法。区别如下(小甲鱼视频里有):
| isdecimal()的返回值 | isdigit() 的返回值| isnumeric()的返回值|
+----------------------------------------------------------+--------------------------+---------------------+-------------------------|
|判断由数字组成的字符串 (例:"123") | True | True | True |
+----------------------------------------------------------+--------------------------+----------------------+------------------------|
|判断由2等符号组成的字符串(例:"22") | False | True | True |
+----------------------------------------------------------+--------------------------+----------------------+------------------------|
|判断由罗马数字组成的字符串(例:"ⅠⅡⅢ") | False | False | True |
+----------------------------------------------------------+--------------------------+---------------------+-------------------------|
|判断由汉字组成的字符串(例:"一壹") | False | False | True |
+----------------------------------------------------------+-------------------------+---------------------+-------------------------+
isdecimal()只判断数字, isdigit()判断数字和特殊的数字(如2),isnumeric()判断数字和不同语言的字符。直觉上来讲,执行效率应该是isdecimal()最快,isdigit()其次,isnumeric()最慢,但结果恰恰相反
请问有人能解释一下么
我知道您的错误原因了:
您在测试时用的应该是 timeii.timeit(),
而不是 timeit.repait(),
所以真正的结果应该是如此:
- x = timeit.timeit("'123'.isdecimal()",number = 100)
- x
- 6.199999916134402e-06
- x = timeit.timeit("'123'.isdigit()",number = 100)
- x
- 6.8999997893115506e-06
- x = timeit.timeit("'123'.isnumeric()",number = 100)
- x
- 9.499999578110874e-06
复制代码
所以真实结果与您得出的恰恰相反!
懂了吗?懂了就给个好评呗!!!
    ’
打字不易!请给个好评!!!
兄弟!给个好评!求求了!!!
  
|
-
|