Python 判断字符串是否都由数字组成

1、使用isdecimal()方法

# isdecimal() 方法检查字符串是否只包含十进制字符。这种方法只存在于unicode对象。
# python3中存储字符串就是用的Unicode编码方式存储。https://www.jianshu.com/p/2bb8a1300bfd
# 注意:定义一个十进制字符串,只需要在字符串前添加 'u' 前缀即可。
string = '123'
print(string.isdecimal())  # True
string = '0123456789'
print(string.isdecimal())  # True
string = '123F'
print(string.isdecimal())  # False
string = '123好'
print(string.isdecimal())  # False
string = ''
print(string.isdecimal())  # False

2、使用isdigit()方法

# isdigit() 方法检测字符串是否只由数字组成。
# 如果字符串只包含数字则返回 True 否则返回 False
string = '123'
print(string.isdigit())  # True
string = '0123456789'
print(string.isdigit())  # True
string = '123F'
print(string.isdigit())  # False
string = '123好'
print(string.isdigit())  # False
string = ''
print(string.isdigit())  # False

3、使用isnumeric()方法

# isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。
# python3中存储字符串就是用的Unicode编码方式存储。https://www.jianshu.com/p/2bb8a1300bfd
# 注:定义一个字符串为Unicode,只需要在字符串前添加 'u' 前缀即可
string = '123'
print(string.isnumeric())  # True
string = '0123456789'
print(string.isnumeric())  # True
string = '123F'
print(string.isnumeric())  # False
string = '123好'
print(string.isnumeric())  # False
string = ''
print(string.isnumeric())  # False

4、使用try异常机制

def is_int(number):
    flag = False
    try:
        int(number)
        flag = True
    except:
        pass
    return flag
string = '123'
print(is_int(string))  # True
string = '0123456789'
print(is_int(string))  # True
string = '123F'
print(is_int(string))  # False
string = '123好'
print(is_int(string))  # False
string = ''
print(is_int(string))  # False

5、学习链接记录

菜鸟教程链接 : https://www.runoob.com/python/att-string-isnumeric.html

 

posted @ 2021-06-21 10:35  南风丶轻语  阅读(965)  评论(0编辑  收藏  举报