python 判断字符串是否为数字或字母

一、常用的字符串分为四种情况:
1、单个字符串,有文字、数字、符号等,如:‘1’、‘可’、‘-’ 等。
2、纯数字符串,如:‘111’、‘-111’、‘12.35’、‘0.456’ 等。
3、混合字符串:如:‘1AaD’、‘dfge2’、‘kl-):2’ 等。
4、纯字母字符串:如:‘ABc’、‘EFG’、‘abc’ 等。

二、判断字符串是否为纯数字(注意,带负号和小数点者不是纯数字):
1、使用内置函数 isdigit()。注意,不可以用于判断数值,否则会报错。

print('123'isdigit())   # 输出:True
print('2'isdigit())   # 输出:True
print('1.23'isdigit())   # 输出:False
print('-2'.isdigit())    #输出:False
print(1.isdigit())   #输出:SyntaxError: invalid decimal literal

2、使用内置函数 isnumeric()。

print('123'.isnumeric())   #输出:True
print('2'.isnumeric())   #输出:True
print('1.23'.isnumeric())   #输出:False
print('-2'.isnumeric())   #输出:False
print(2.isnumeric())   #输出:SyntaxError: invalid decimal literal

3、使用系统数字范围判断(注意,int()函数不支持小数点或负数作为字符串)

print(-888 < int(-2.3) < 999)   #输出:Ture
print(-888 < int(-2) < 999)   #输出:Ture
print(-888 < int('-2') < 999)   #输出:Ture
print(-888 < int('2') < 999)   #输出:Ture
print(-888 < -2 < 999)   #输出:Ture
print(-888 < -2.3 < 999)   #输出:Ture

注意:-888、999均可以随意指定(python的整数取值范围是无限的)。

三、判断字符串是否为纯字母(指26个字母,支持中文),isalpha():

print('a123'.isalpha())   #输出:False
print('abc'.isalpha())   #输出:True
print('Abc'.isalpha())   #输出:True
print('abc3'.isalpha())   #输出:False
print('(SBc'.isalpha())   #输出:False
print('中文'.isalpha())    #输出:True

四、判断字符串是否为数字与字母的混合(支持中文),isalnum():

print('123ABc'.isalnum())   #输出:True
print('abcABc'.isalnum())   #输出:True
print('123123'.isalnum())   #输出:True
print('A1B2c3'.isalnum())   #输出:True
print('12.3'.isalnum())   #输出:False
print('-123'.isalnum())   #输出:False
print('中'.isalnum())   #输出:True
print('中文89分'.isalnum())   #输出:True

可根据不同的需求,选择不同的判断方式。
也可以配合字符串函数把字符串切片后进行判断。
如需判断大小写字母,则可以使用islower()、isupper()等函数。

  • 6
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值