Python isdigit()方法
描述
Python isdigit() 方法检测字符串是否只由数字组成,只对 0 和 正数有效。
语法
isdigit()方法语法:
str.isdigit()
参数
- 无。
返回值
如果字符串只包含数字则返回 True 否则返回 False。
实例
以下实例展示了isdigit()方法的实例:
实例
#!/usr/bin/python
# -*- coding: UTF-8 -*-
str = "123456" # 字符串只包含数字
print (str.isdigit())
str = "this is string example....wow!!!"
print (str.isdigit())
str = "0"
print (str.isdigit())
str = "-1"
print (str.isdigit())
以上实例输出结果如下:
True False True False
Python 字符串
哈塔克
350***799@qq.com
isdigit() 方法只对非负整数(0和正整数)有效,负数及小数均返回不正确。
可以使用以下函数来解决:
# 判断是否为数字 def is_number(s): try: # 如果能运⾏ float(s) 语句,返回 True(字符串 s 是浮点数) float(s) return True except ValueError: # ValueError 为 Python 的⼀种标准异常,表⽰"传⼊⽆效的参数" pass # 如果引发了 ValueError 这种异常,不做任何事情(pass:不做任何事情,⼀般⽤做占位语句) try: import unicodedata # 处理 ASCII 码的包 unicodedata.numeric(s) # 把⼀个表⽰数字的字符串转换为浮点数返回的函数 return True except (TypeError, ValueError): pass return False print(is_number(1)) print(is_number(1.0)) print(is_number(0)) print(is_number(-2)) print(is_number(-2.0)) print(is_number("abc"))输出结果为:
哈塔克
350***799@qq.com