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实现向服务器请求压缩数据及解压缩数据的方法示例
Jun 09 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
python的dataframe和matrix的互换方法
Apr 11 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
解决DataFrame排序sort的问题
Jun 07 Python
django 将model转换为字典的方法示例
Oct 16 Python
Pycharm+Scrapy安装并且初始化项目的方法
Jan 15 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
Pytorch之Variable的用法
Dec 31 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
May 12 Python
Python虚拟环境的创建和包下载过程分析
Jun 19 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
PHP 高手之路(三)
2006/10/09 PHP
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php缓冲输出实例分析
2015/01/05 PHP
Symfony实现行为和模板中取得request参数的方法
2016/03/17 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
2016/04/01 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
原生js仿jquery实现对Ajax的封装
2016/10/04 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
微信小程序实现卡片层叠滑动效果
2019/06/21 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[03:35]2018年度DOTA2最佳辅助位选手5号位-完美盛典
2018/12/17 DOTA
对python多线程SSH登录并发脚本详解
2019/02/14 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
Python列表切片常用操作实例解析
2020/03/10 Python
python interpolate插值实例
2020/07/06 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
斯凯奇新西兰官网:SKECHERS新西兰
2018/02/22 全球购物
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
分别介绍一下Session Bean和Entity Bean
2015/03/13 面试题
法律专业自我鉴定
2013/10/03 职场文书
经典演讲稿开场白
2014/08/25 职场文书
电工实训报告总结
2014/11/05 职场文书
项目验收申请报告
2015/05/15 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL