c语言编程笔录

首页 >   > 笔记大全

笔记大全

怎么使用python判断字符串是纯数字

更新时间:2023-09-30

如何使用 Python 判断字符串是纯数字

概述

在开发过程中,我们经常会遇到需要判断字符串是否是纯数字的场景。比如说,在输入框中输入的内容是纯数字,我们可以将其转换为数字类型,方便后续的数学计算等操作。这时候,就需要用到 Python 中的字符串判断函数 isdigit()。

使用 isdigit() 函数判断字符串是否是纯数字

Python 中的字符串判断函数 isdigit() 可以判断一个字符串是否是纯数字,其返回值为布尔类型。

s='12345'
print(s.isdigit()) # True

s='12345a'
print(s.isdigit()) # False

在上面的代码中,我们先定义了一个字符串 s,然后用 isdigit() 函数来判断字符串是否是纯数字。第一个输出的返回值为 True,因为字符串 s 中的字符都是数字;而第二个输出的返回值为 False,因为字符串 s 中包含了字符 'a'。

自定义函数判断字符串是否是纯数字

如果不想用 isdigit() 函数,我们也可以自定义函数来判断字符串是否是纯数字。这时候,可以使用正则表达式。

import re

def is_num(s):
    pattern=re.compile(r'^\d+$')
    return pattern.match(s)

print(is_num('12345')) # 
print(is_num('12345a')) # None

上面的代码中,我们定义了一个自定义函数 is_num(),该函数使用了 re 模块中的正则表达式来匹配纯数字字符串。如果匹配成功,函数返回的是一个 match 对象;否则返回 None。

注意事项

在实际开发中,需要注意不同语言中的纯数字表示方法可能不同。比如说,在中文中,全角数字也被视为数字。这时候,可以使用 Python 中的 unicodedata 模块来进行处理。

import unicodedata

def is_num(s):
    for char in s:
        if unicodedata.category(char) !='Nd':
            return False
    return True

print(is_num('12345')) # True
print(is_num('12345a')) # False

总结

Python 中有多种方式可以判断一个字符串是否是纯数字,其中 isdigit() 函数最为简单常用。如果不想使用内置函数,也可以使用正则表达式或者 unicodedata 模块来进行判断。在实际应用中,需要根据具体场景进行选择。