Python判断字符串是否为字母或者数字(浮点数)的多种方法


Posted in Python onAugust 03, 2018

str为字符串s为字符串

str.isalnum() 所有字符都是数字或者字母

str.isalpha() 所有字符都是字母

str.isdigit() 所有字符都是数字

str.isspace() 所有字符都是空白字符、t、n、r

检查字符串是数字/浮点数方法

float部分

>> float('Nan')
nan
>> float('Nan')
nan
>> float('nan')
nan
>> float('INF')
inf
>> float('inf')
inf
>> float('-INF')
inf
>> float('-inf')
inf

第一种:最简单

def is_number(str):
  try:
    # 因为使用float有一个例外是'NaN'
    if str=='NaN':
      return False
    float(str)
    return True
  except ValueError:
    return False
float例外示例
 >>> float('NaN')
 nan

使用complex()

def is_number(s):
  try:
    complex(s) # for int, long, float and complex
  except ValueError:
    return False
  return True

综合1

def is_number(s):
  try:
    float(s) # for int, long and float
  except ValueError:
    try:
      complex(s) # for complex
    except ValueError:
      return False
  return True

综合2-还是无法完全识别

def is_number(n):
  is_number = True
  try:
    num = float(n)
    # 检查 "nan" 
    is_number = num == num  # 或者使用 `math.isnan(num)`
  except ValueError:
    is_number = False
  return is_number
>>> is_number('Nan')  
False
>>> is_number('nan') 
False
>>> is_number('123') 
True
>>> is_number('-123') 
True
>>> is_number('-1.12')
True
>>> is_number('abc') 
False
>>> is_number('inf') 
True

第二种:只能判断是整数

使用isnumeric()

# str必须是uniconde模式
>>> str = u"345"
>>> str.isnumeric()True
http://www.tutorialspoint.com/python/string_isnumeric.htm
http://docs.python.org/2/howt...

使用isdigit()

https://docs.python.org/2/lib...
>>> str = "11"
>>> print str.isdigit()
True
>>> str = "3.14"
>>> print str.isdigit()
False
>>> str = "aaa"
>>> print str.isdigit()
False

使用int()

def is_int(str):
  try:
    int(str)
    return True
  except ValueError:
    return False

第三种:使用正则(最安全方法)

import re
def is_number(num):
  pattern = re.compile(r'^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$')
  result = pattern.match(num)
  if result:
    return True
  else:
    return False
>>>: is_number('1')
True
>>>: is_number('111')
True
>>>: is_number('11.1')
True
>>>: is_number('-11.1')
True
>>>: is_number('inf')
False
>>>: is_number('-inf')
False

总结

以上所述是小编给大家介绍的Python判断字符串是否为字母或者数字(浮点数)的多种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python实现将文本转换成语音的方法
May 28 Python
Python简单实现enum功能的方法
Apr 25 Python
Windows上使用virtualenv搭建Python+Flask开发环境
Jun 07 Python
Anaconda2 5.2.0安装使用图文教程
Sep 19 Python
浅谈Python的list中的选取范围
Nov 12 Python
Python安装selenium包详细过程
Jul 23 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
Python实现序列化及csv文件读取
Jan 19 Python
python用Tkinter做自己的中文代码编辑器
Sep 07 Python
python 实现音频叠加的示例
Oct 29 Python
浅析Python实现DFA算法
Jun 26 Python
Python经常使用的一些内置函数
Apr 11 Python
OpenCV2从摄像头获取帧并写入视频文件的方法
Aug 03 #Python
python中copy()与deepcopy()的区别小结
Aug 03 #Python
Python爬取个人微信朋友信息操作示例
Aug 03 #Python
python opencv人脸检测提取及保存方法
Aug 03 #Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 #Python
OpenCV+python手势识别框架和实例讲解
Aug 03 #Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 #Python
You might like
数据库相关问题
2006/10/09 PHP
PHP批量生成缩略图的代码
2008/07/19 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
JavaScript精炼之构造函数 Constructor及Constructor属性详解
2015/11/05 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
jQuery+HTML5实现弹出创意搜索框层
2016/12/29 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
纯原生js实现贪吃蛇游戏
2020/04/16 Javascript
vue mint-ui 实现省市区街道4级联动示例(仿淘宝京东收货地址4级联动)
2017/10/16 Javascript
JavaScript插件Tab选项卡效果
2017/11/14 Javascript
Nodejs 发布自己的npm包并制作成命令行工具的实例讲解
2018/05/15 NodeJs
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
uni-app使用微信小程序云函数的步骤示例
2020/05/22 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
[02:38]DOTA2亚洲邀请赛小组赛精彩集锦:Wings完美团击溃对手
2017/03/29 DOTA
浅析Python中的for 循环
2016/06/09 Python
使用Kivy将python程序打包为apk文件
2017/07/29 Python
Python 硬币兑换问题
2019/07/29 Python
在脚本中单独使用django的ORM模型详解
2020/04/01 Python
如何对python的字典进行排序
2020/06/19 Python
Python自省及反射原理实例详解
2020/07/06 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
财务会计专业个人求职信范本
2014/01/08 职场文书
干部下基层实施方案
2014/03/14 职场文书
买卖车协议书
2014/04/21 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
布达拉宫的导游词
2015/02/02 职场文书
居安思危观后感
2015/06/11 职场文书
圣诞晚会主持词
2015/07/01 职场文书
浅谈Redis中的RDB快照
2021/06/29 Redis