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实现rest请求api示例
Apr 22 Python
Python 基础教程之包和类的用法
Feb 23 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
Python数据抓取爬虫代理防封IP方法
Dec 23 Python
python全栈知识点总结
Jul 01 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
Python实现直播推流效果
Nov 26 Python
matplotlib绘制多个子图(subplot)的方法
Dec 03 Python
Python实现密码薄文件读写操作
Dec 16 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
Apr 01 Python
Python基于codecs模块实现文件读写案例解析
May 11 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 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
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
php获取URL中带#号等特殊符号参数的解决方法
2014/09/02 PHP
PHP7.0版本备注
2015/07/23 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
jQuery基本过滤选择器用法示例
2016/09/09 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
Bootstrap警告(Alerts)的实现方法
2017/03/22 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
基于node.js express mvc轻量级框架实践
2017/09/14 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
Vue.js组件间的循环引用方法示例
2017/12/27 Javascript
详解JavaScript函数callee、call、apply的区别
2019/03/08 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Python提取网页中超链接的方法
2016/09/18 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
Python实现模拟浏览器请求及会话保持操作示例
2018/07/30 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
Pandas中resample方法详解
2019/07/02 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
佳能英国官方网站:Canon UK
2017/08/08 全球购物
J2EE面试题大全
2016/08/06 面试题
优秀大学生的自我评价
2014/01/16 职场文书
机关财务管理制度
2014/01/17 职场文书
新闻发布会策划方案
2014/06/12 职场文书
党的群众路线教育实践活动个人对照检查材料
2014/09/22 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
体育委员竞选稿
2015/11/21 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python