Python作为一门强大的编程语言,提供了很多判断数据的方法,那么如何判断一个变量是数字还是字符呢?本文将从多个方面来详细阐述。
一、使用type函数
num = 123
char = 'hello'
print(type(num))
print(type(char))
使用type函数可以判断变量的数据类型,如果输出结果是<class 'int'>,则说明该变量是数字;如果输出结果是<class 'str'>,则说明该变量是字符。
二、使用isdigit函数
num = '123'
char = 'hello'
print(num.isdigit())
print(char.isdigit())
使用isdigit函数可以判断字符是不是数字,如果是数字则返回True,否则返回False。
三、使用isnumeric函数
num = '123'
char = '①'
print(num.isnumeric())
print(char.isnumeric())
使用isnumeric函数可以判断字符是不是数字,包括全角数字,在unicode编码中有定义。
四、使用ASCII码
char = 'a'
if ord(char) >= 48 and ord(char) <= 57:
print('数字')
elif ord(char) >= 65 and ord(char) <= 90:
print('大写字母')
elif ord(char) >= 97 and ord(char) <= 122:
print('小写字母')
else:
print('其他字符')
使用ASCII码可以判断一个字符是哪一类字符,通过判断字符的编码值所在的区间来判断该字符是数字、大写字母、小写字母还是其他字符。
五、使用正则表达式
import re
num_pattern = re.compile('^\d+$')
char_pattern = re.compile('^[a-zA-Z]+$')
num = '123'
char = 'abc'
if num_pattern.match(num):
print('数字')
elif char_pattern.match(char):
print('字母')
else:
print('其他字符')
使用正则表达式可以匹配数字和字母,进行分类判断。