在 Python 中检查一个字符是否为数字
Check if a character is a Number in Python
使用该str.isnumeric()
方法检查字符是否为数字,例如
is_number = my_str[0].isnumeric()
. 如果字符是数字,则该str.isnumeric()
方法将返回
,否则返回。True
False
主程序
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
,最后一个字符的索引为-1
or 。 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()
方法将返回,否则返回。True
False
主程序
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
两个条件都必须满足。