当前位置:主页 > python教程 > Python判断字符串是否为字母或者数字

Python判断字符串是否为字母或者数字方法总结

发布:2019-06-20 11:34:23 67


为网友们分享了相关的编程文章,网友牛元明根据主题投稿了本篇教程内容,涉及到Python、字符串、字母、数字、Python判断字符串是否为字母或者数字相关内容,已被508网友关注,相关难点技巧可以阅读下方的电子资料。

Python判断字符串是否为字母或者数字

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

 


参考资料

相关文章

  • C语言实现字符串转浮点函数的示例

    C语言实现字符串转浮点函数的示例

    发布:2023-01-05

    给网友朋友们带来一篇关于C语言的教程,字符串不仅可以转换为整数,也可以转换为浮点数,本文主要介绍了C语言实现字符串转浮点函数的示例,具有一定的参考价值,感兴趣的可以了解一下


  • python 5个实用的技巧

    发布:2021-06-15

    这篇文章主要介绍了python 5个实用的技巧,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下


  • python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)

    python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)

    发布:2022-11-07

    为网友们分享了关于python的教程,这篇文章主要介绍了python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形) ,需要的朋友可以参考下


  • 一文带你掌握Python中文词频统计

    发布:2023-04-15

    词频统计是指在文本中计算每个词出现的次数。这篇文章主要带大家了解一下Python实现中文词频统计的方法,感兴趣的小伙伴可以了解一下


  • Python 调用GPT-3 API实现过程详解

    发布:2023-04-07

    这篇文章主要为大家介绍了Python 调用GPT-3 API实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪


  • python3调用百度翻译API实时翻译的实例代码

    发布:2019-11-09

    这篇文章主要为大家详细介绍了python3调用百度翻译API,实现实时翻译,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • 解读python中的类型提示(type hint)

    发布:2023-04-24

    这篇文章主要介绍了解读python中的类型提示(type hint),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


  • 一款Python工具制作的动态条形图(强烈推荐!)

    发布:2023-04-08

    有时为了方便看数据的变化情况,需要画一个动态图来看整体的变化情况,下面这篇文章主要给大家介绍了一款Python工具制作的动态条形图的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下


网友讨论