检查一个字符是否是 Python 中的数字

在 Python 中检查一个字符是否为数字

Check if a character is a Number in Python

使用该str.isnumeric()方法检查字符是否为数字,例如
is_number = my_str[0].isnumeric(). 如果字符是数字,则str.isnumeric()方法将返回
否则返回。
TrueFalse

主程序
my_str = '12bo' # ✅ Check if character is a number is_number = my_str[0].isnumeric() print(is_number) # 👉️ True if is_number: # 👇️ this runs print('The character is a number') else: print('The character is NOT a number') is_number = my_str[-1].isnumeric() print(is_number) # 👉️ False # --------------------------------------- # ✅ Check if character is a digit print('123abc'[0].isdigit()) # 👉️ True print('123abc'[-1].isdigit()) # 👉️ False

str.isnumeric

方法返回如果
字符串True中的所有字符都是数字,并且至少有一个字符,否则False返回。

主程序
print('5'.isnumeric()) # 👉️ True print('50'.isnumeric()) # 👉️ True print('-50'.isnumeric()) # 👉️ False print('3.14'.isnumeric()) # 👉️ False print('A'.isnumeric()) # 👉️ False

请注意,该str.isnumeric()方法返回False负数(它们包含负数)和浮点数(它们包含句点)。

您可以在调用时访问特定索引处的字符isnumeric()

主程序
my_str = '12bo' is_number = my_str[0].isnumeric() print(is_number) # 👉️ True is_number = my_str[-1].isnumeric() print(is_number) # 👉️ False
Python 索引是从零开始的,因此字符串中的第一个字符的索引为0,最后一个字符的索引为-1or len(my_str) - 1

您还可以使用for循环遍历字符串并检查每个字符是否为数字。

主程序
my_str = '12bo' for char in my_str: # 1 True # 2 True # b False # o False print(char, char.isnumeric())

或者,您可以使用该str.isdigit()方法。

使用 str.isdigit() 检查字符是否为数字

使用该str.isdigit()方法检查字符串中的字符是否为数字,例如is_number = my_str[0].isdigit(). 如果字符是数字,则str.isdigit()方法将返回,否则返回。TrueFalse

主程序
my_str = '12bo' is_number = my_str[0].isdigit() print(is_number) # 👉️ True if is_number: # 👇️ this runs print('The character is a number') else: print('The character is NOT a number')

str.isdigit
方法返回如果
字符串True中的所有字符都是数字并且至少有 1 个字符,否则False返回。

如果您需要检查字符串中的所有字符是否都是数字,请使用该all()
函数。

主程序
my_str = '1234' all_numbers = all(char.isdigit() for char in my_str) print(all_numbers) # 👉️ True if all_numbers: # 👇️ this runs print('All characters in the string are numbers') else: print('Not all characters in the string are numbers')
生成器表达式用于对每个元素执行某些操作或选择满足条件的元素子集。

在每次迭代中,我们使用该str.isdigit()方法检查当前字符是否为数字并返回结果。

all()内置函数接受一个可迭代对象作为参数,如果可迭代对象中True所有元素都为真(或可迭代对象为空)则返回。

all()函数返回True空字符串。

如果您需要处理这种情况,请检查字符串的长度。

主程序
my_str = '' all_numbers = (len(my_str) > 0 and all(char.isdigit() for char in my_str)) print(all_numbers) # 👉️ False

我们使用了布尔and运算符,因此要使表达式返回True两个条件都必须满足。

发表评论