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常用模块用法分析
Sep 08 Python
Python中用于返回绝对值的abs()方法
May 14 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python基础教程项目三之万能的XML
Apr 02 Python
Python数据类型之Dict字典实例详解
May 07 Python
python numpy实现文件存取的示例代码
May 26 Python
python 用户交互输入input的4种用法详解
Sep 24 Python
Python 类的私有属性和私有方法实例分析
Sep 29 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
pycharm内无法import已安装的模块问题解决
Feb 12 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
提问的智慧(2)
2006/10/09 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
2016/03/03 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
vue中如何实现pdf文件预览的方法
2018/07/12 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
node使用async_hooks模块进行请求追踪
2021/01/28 Javascript
Python构造函数及解构函数介绍
2015/02/26 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
Python实现的拟合二元一次函数功能示例【基于scipy模块】
2018/05/15 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
Python中的延迟绑定原理详解
2019/10/11 Python
this关键字的作用
2016/01/30 面试题
出纳员岗位职责风险
2014/03/06 职场文书
留学顾问岗位职责
2014/04/14 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
Java使用jmeter进行压力测试
2021/07/09 Java/Android
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技