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怎么学好python?
Oct 07 Python
python使用ctypes模块调用windowsapi获取系统版本示例
Apr 17 Python
Python简明入门教程
Aug 04 Python
利用python代码写的12306订票代码
Dec 20 Python
python在文本开头插入一行的实例
May 02 Python
详解python之协程gevent模块
Jun 14 Python
python实现zabbix发送短信脚本
Sep 17 Python
Django REST Framework之频率限制的使用
Sep 29 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
PyCharm中配置PySide2的图文教程
Jun 18 Python
python list等分并从等分的子集中随机选取一个数
Nov 16 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
Dec 01 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扩展
2013/06/13 PHP
PHP对表单提交特殊字符的过滤和处理方法汇总
2014/02/18 PHP
php数组键值用法实例分析
2015/02/27 PHP
php通过获取头信息判断图片类型的方法
2015/06/26 PHP
php7下的filesize函数
2019/09/30 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jQuery实现跨域iframe接口方法调用
2015/03/14 Javascript
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
jQuery实现自动调用和触发某个事件的方法
2016/11/18 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
js实现图片局部放大效果详解
2019/03/18 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
vue-cli和v-charts实现可视化图表过程解析
2019/10/08 Javascript
Vue项目中使用flow做类型检测的方法
2020/03/18 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python两种遍历字典(dict)的方法比较
2014/05/29 Python
Python多线程同步Lock、RLock、Semaphore、Event实例
2014/11/21 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Django框架使用内置方法实现登录功能详解
2019/06/12 Python
基于Python脚本实现邮件报警功能
2020/05/20 Python
使用python实现名片管理系统
2020/06/18 Python
有750多个顶级品牌的瑞士时尚在线:ABOUT YOU
2017/01/04 全球购物
生产文员岗位职责
2014/04/05 职场文书
租房协议书范本
2014/04/09 职场文书
协议书的格式
2014/04/23 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
html+css实现文字折叠特效实例
2021/06/02 HTML / CSS
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android
解决MySQL报“too many connections“错误
2022/04/19 MySQL
muduo TcpServer模块源码分析
2022/04/26 Redis
Linux中sftp常用命令整理
2022/06/28 Servers