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

作者:风v月 时间:2023-04-12 07:55:47 

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判断字符串是否为字母或者数字(浮点数)的多种方法网站的支持!

来源:https://segmentfault.com/a/1190000015871403

标签:python,判断,字符串
0
投稿

猜你喜欢

  • Go语言实现新春祝福二维码的生成

    2023-10-16 06:14:32
  • Python语法学习之进程池与进程锁详解

    2021-09-01 23:16:17
  • JavaScript判断变量是对象还是数组的方法

    2024-06-24 06:29:37
  • js实现的全国省市二级联动下拉选择菜单完整实例

    2023-09-09 05:21:01
  • 如何解决attachEvent函数时,this指向被绑定的元素的问题?

    2024-04-28 09:33:29
  • django+xadmin+djcelery实现后台管理定时任务

    2023-12-15 03:05:52
  • 如何用 Python 制作 GitHub 消息助手

    2021-05-15 03:54:44
  • python版本五子棋的实现代码

    2021-05-17 06:04:23
  • python练习程序批量修改文件名

    2022-01-29 06:53:12
  • Python常用内置函数的使用教程详解

    2021-11-11 21:23:50
  • 用YSlow评分插件分析我们页面

    2008-08-26 11:48:00
  • JavaScript onclick 和 click 的区别详解

    2024-06-05 09:56:25
  • django实现后台显示媒体文件

    2023-07-26 15:03:23
  • Python2与Python3的区别点整理

    2022-02-23 07:44:46
  • 解决Python报错问题[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE]

    2021-08-20 23:26:07
  • 基础的十进制按位运算总结与在Python中的计算示例

    2021-12-29 10:45:39
  • python如何使用socketserver模块实现并发聊天

    2022-06-23 08:58:41
  • 精妙的SQL语句

    2024-01-20 09:29:38
  • Pygame代码 制作一个贪吃蛇小游戏

    2022-06-29 03:04:27
  • 解决Mac node版本升级失败的问题

    2024-05-13 09:34:52
  • asp之家 网络编程 m.aspxhome.com