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实现扫描端口示例
Mar 29 Python
Python爬虫框架Scrapy安装使用步骤
Apr 01 Python
python使用any判断一个对象是否为空的方法
Nov 19 Python
详解Python3中yield生成器的用法
Aug 20 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
python中的文件打开与关闭操作命令介绍
Apr 26 Python
python异常触发及自定义异常类解析
Aug 06 Python
使用Python函数进行模块化的实现
Nov 15 Python
打包PyQt5应用时的注意事项
Feb 14 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
python 三边测量定位的实现代码
Apr 22 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 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服务器实现多session并发运行
2006/10/09 PHP
几种显示数据的方法的比较
2006/10/09 PHP
一个改进的UBB类
2006/10/09 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
jQuery根据ID获取input、checkbox、radio、select的示例
2014/08/11 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
Javascript中this绑定的3种方法与比较
2016/10/13 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
javascript中replace使用方法总结
2017/03/01 Javascript
js字符串与Unicode编码互相转换
2017/05/17 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
Python中的异常处理相关语句基础学习笔记
2016/07/11 Python
基于python 字符编码的理解
2017/09/02 Python
python实现求最长回文子串长度
2018/01/22 Python
pandas 将list切分后存入DataFrame中的实例
2018/07/03 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
django 单表操作实例详解
2019/07/30 Python
CSS3 animation实现逐帧动画效果
2016/06/02 HTML / CSS
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
如何开启linux的ssh服务
2013/06/03 面试题
迟到检讨书400字
2014/01/13 职场文书
《小猪家的桃花树》教学反思
2014/04/11 职场文书
匿名检举信范文
2015/03/02 职场文书
Python天气语音播报小助手
2021/09/25 Python
git中cherry-pick命令的使用教程
2022/06/25 Servers