python判断字符串是否纯数字的方法

yipeiwu_com6年前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()方法则更为方便。
还可以用正则表达式:
复制代码 代码如下:
re.match(r'[+-]?d+$', '-1234′)

在数字很大时,可能比用int类型转换速度更快。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

详解Python pygame安装过程笔记

今天看到一个教程,是关于Python安装pygame模块的。觉得很好,拿来分享一下。 安装Python 额,这个小题貌似在这里很是多余啊。但是为了照顾到刚刚学习Python的童鞋,我还是...

基于Python列表解析(列表推导式)

列表解析——用来动态地创建列表 [expr for iter_var in iterable if cond_expr] 例子一: map(lambda x: x**2, ra...

Python pandas用法最全整理

1、首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as npimport pandas as pd 2、导入CSV或者xlsx文...

Django使用Celery异步任务队列的使用

Django使用Celery异步任务队列的使用

1 Celery简介 Celery是异步任务队列,可以独立于主进程运行,在主进程退出后,也不影响队列中的任务执行。 任务执行异常退出,重新启动后,会继续执行队列中的其他任务,同...

Python使用re模块正则提取字符串中括号内的内容示例

本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作。分享给大家供大家参考,具体如下: 直接上代码吧: # -*- coding:utf-8 -*- #! pyth...