python判断字符串是否纯数字的⽅法
本⽂实例讲述了python判断字符串是否纯数字的⽅法。分享给⼤家供⼤家参考。具体如下:
判断的代码如下,通过异常判断不能区分前⾯带正负号的区别,正则表达式可以根据⾃⼰需要⽐较灵活的写,通过isdigit⽅法⽤来判断是否是纯数字,测试代码如下
复制代码代码如下:
#!/usr/bin/python
# -*- coding: utf-8 -*-
a = "1"
b = "1.2"
c = "a"
#通过抛出异常
def is_num_by_except(num):
try:
int(num)
return True
except ValueError:
#        print "%s ValueError" % num
return False
print "通过抛出异常"
print "a", is_num_by_except(a)
print "b", is_num_by_except(b)
print "c", is_num_by_except(c)
print "通过isdigit()"
print "a", a.isdigit()
print "b", b.isdigit()
print "c", c.isdigit()
print "通过正则表达式"
import re
print "a", re.match(r"d+$", a) and True or False
print "b", re.match(r"d+$", b) and True or False
print "c", re.match(r"d+$", c) and True or False
输出结果如下:
复制代码代码如下:
通过抛出异常
a True
b False
c False
通过isdigit()
a True
b False
c False
通过正则表达式
a True
b False
c False
-
-EOF--
判断⼀个字符串只包含数字字符
⼀种⽅法是 a.isdigit()。但这种⽅法对于包含正负号的数字字符串⽆效,因此更为准确的为:
复制代码代码如下:
try:
x = int(aPossibleInt)
… do something with x …
except ValueError:
… do something else …
这样更准确⼀些,适⽤性也更⼴。但如果你已经确信没有正负号,使⽤字符串的isdigit()⽅法则更为⽅便。还可以⽤正则表达式:
python正则表达式判断复制代码代码如下:
re.match(r'[+-]?d+$', '-1234′)
在数字很⼤时,可能⽐⽤int类型转换速度更快。
希望本⽂所述对⼤家的Python程序设计有所帮助。