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中from module import * 的一个坑
Jul 20 Python
Python中的两个内置模块介绍
Apr 05 Python
使用Django启动命令行及执行脚本的方法
May 29 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
使用python socket分发大文件的实现方法
Jul 08 Python
Python编写打字训练小程序
Sep 26 Python
python框架flask表单实现详解
Nov 04 Python
tensorflow实现对张量数据的切片操作方式
Jan 19 Python
利用Python脚本实现自动刷网课
Feb 03 Python
python和c语言哪个更适合初学者
Jun 22 Python
Python把图片转化为pdf代码实例
Jul 28 Python
python 使用tkinter+you-get实现视频下载器
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 syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php下通过IP获取地理位置的代码(小偷程序)
2011/06/09 PHP
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
offsetHeight在OnLoad中获取为0的现象
2013/07/22 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
在for循环中length值是否需要缓存
2015/07/27 Javascript
javascript实现手机震动API代码
2015/08/05 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
2017/06/28 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
JavaScript获取时区实现过程解析
2020/09/24 Javascript
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
python制作最美应用的爬虫
2015/10/28 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
selenium切换标签页解决get超时问题的完整代码
2020/08/30 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
2020/11/15 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
Java程序员综合测试题
2014/04/25 面试题
医校毕业生自我鉴定
2014/01/25 职场文书
关于运动会的稿件
2014/02/02 职场文书
创先争优活动个人总结
2015/03/04 职场文书
校运会加油稿大全
2015/07/22 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书