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 13 Python
Python使用Beautiful Soup包编写爬虫时的一些关键点
Jan 20 Python
基于数据归一化以及Python实现方式
Jul 11 Python
简单了解python的一些位运算技巧
Jul 13 Python
学习和使用python的13个理由
Jul 30 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
Tensorflow中tf.ConfigProto()的用法详解
Feb 06 Python
Python TKinter如何自动关闭主窗口
Feb 26 Python
Django数据库操作之save与update的使用
Apr 01 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
Python自然语言处理之切分算法详解
Apr 25 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创建桌面快捷方式的实例代码
2014/02/17 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
微信接口生成带参数的二维码
2017/07/31 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
2019/09/27 PHP
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
jquery获取transform里的值实现方法
2017/12/12 jQuery
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python设计模式之观察者模式简单示例
2018/01/10 Python
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
使用Python向DataFrame中指定位置添加一列或多列的方法
2019/01/29 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
Python调用C语言的实现
2019/07/26 Python
python实现静态web服务器
2019/09/03 Python
wxPython实现文本框基础组件
2019/11/18 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
openCV提取图像中的矩形区域
2020/07/21 Python
解析python 类方法、对象方法、静态方法
2020/08/15 Python
html5简介及新增功能介绍
2020/05/18 HTML / CSS
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
美国女孩洋娃娃店:American Girl
2017/10/24 全球购物
C语言怎样定义和声明全局变量和函数最好
2013/11/26 面试题
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
python基础之文件操作
2021/10/24 Python
基于Redis6.2.6版本部署Redis Cluster集群的问题
2022/04/01 Redis