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实现数通设备tftp备份配置文件示例
Apr 02 Python
Python实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
django+js+ajax实现刷新页面的方法
May 22 Python
Python基础之getpass模块详细介绍
Aug 10 Python
python指定写入文件时的编码格式方法
Jun 07 Python
详解python编译器和解释器的区别
Jun 24 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
Python 实现文件读写、坐标寻址、查找替换功能
Sep 11 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
Django+boostrap 美化admin后台的操作
Mar 11 Python
pycharm 实现复制一行的快捷键
Jan 15 Python
Pygame Event事件模块的详细示例
Nov 17 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仿QQ验证码的实例分析
2013/07/01 PHP
php遍历CSV类实例
2015/04/14 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
JavaScript 原型学习总结
2010/10/29 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
jQuery响应enter键的实现思路
2014/04/18 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
vue2.0实现移动端的输入框实时检索更新列表功能
2018/05/08 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
pyv8学习python和javascript变量进行交互
2013/12/04 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python 图片去噪的方法示例
2019/07/09 Python
python实现屏保程序(适用于背单词)
2019/07/30 Python
浅谈Python爬虫原理与数据抓取
2020/07/21 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
HTML5文档结构标签
2017/04/21 HTML / CSS
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
矫正人员思想汇报
2014/01/08 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
情人节单身感言
2015/08/03 职场文书
餐厅开业活动方案
2019/07/08 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
Java死锁的排查
2022/05/11 Java/Android