首页 > 编程 > Python > 正文

Python判断字符串是否为字母或者数字(浮点数)的多种方法

2020-01-04 14:52:59
字体:
来源:转载
供稿:网友

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 Falsefloat例外示例 >>> 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()Truehttp://www.tutorialspoint.com/python/string_isnumeric.htmhttp://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 redef 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判断字符串是否为字母或者数字(浮点数)的多种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VEVB武林网网站的支持!


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表