这篇文章主要介绍了python中isdigit() isalpha()用于判断字符串的类型问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

isdigit() isalpha()用于判断字符串的类型

要求1

统计某个字符串中的数字数量并输出,例如字符串为“adsfsd1adf23sdfa12”

思路:遍历字符串,用isdigit()方法判断是否为数字,如果为数字,统计+1

代码如下:


str=input("请输入任意字符串") num=0 #统计基数 for i in str: #遍历字符串 if i.isdigit(): #判断是否为数字 num+=1 print(num)


要求2

在要求1的基础中统计出现数字的次数,比如12dsd23dsddf1,其中出现数字12,23,1共3次。

思路:此时如果利用上述思路,无法实现要求,故转换思路。

  • 1.遍历字符串,用 isalpha()判断字符串类型是否Wie字符串
  • 2.将字符串中的字符都换成空格,此时字符串中只有数字和空格
  • 3.将原有字符串用split()转换为列表
  • 4.统计列表元素长度

代码如下:


s=input("") num=0 #统计基数 for i in s: #遍历字符串 if i.isalpha(): #判断是否为字符串 s=s.replace(i," ") #如果是字符串,替换为空格 b=s.split() #拆分字符串 print(len(b)) #统计字符串长度


isdigit()、isalpha()、isalnum() 三个函数的区别和注意点

一、isdigit()

python关于 isdigit() 内置函数的官方定义:


S.isdigit() -> bool Return True if all characters in S are digits and there is at least one character in S, False otherwise.


翻译:

S.isdigit()返回的是布尔值:True False

S中至少有一个字符且如果S中的所有字符都是数字,那么返回结果就是True;否则,就返回False


S1 = '12345' #纯数字 S2 = '①②' #带圈的数字 S3 = '汉字' #汉字 S4 = '%#¥' #特殊符号 print(S1.isdigit()) print(S2.isdigit()) print(S3.isdigit()) print(S4.isdigit()) # 执行结果: True True False False


二、isalpha()

python关于 isalpha() 内置函数的官方定义:


S.isalpha() -> bool Return True if all characters in S are alphabetic and there is at least one character in S, False otherwise.


翻译:

S.isalpha()返回的是布尔值:True False

S中至少有一个字符且如果S中的所有字符都是字母,那么返回结果就是True;否则,就返回False


S1 = 'abc汉字' #汉字+字母 S2 = 'ab字134' #包含数字 S3 = '*&&' #特殊符号 print(S1.isalpha()) print(S2.isalpha()) print(S3.isalpha()) #执行结果 True False False


三、isalnum()

python关于 isalnum() 内置函数的官方定义:


S.isalnum() -> bool Return True if all characters in S are alphanumeric and there is at least one character in S, False otherwise.


翻译:

S.isalnum()返回的是布尔值:True False

S中至少有一个字符且如果S中的所有字符都是字母数字,那么返回结果就是True;否则,就返回False


S1 = 'abc汉字1' #字母+汉字+数字 S2 = '①②③' #带圈的数字 S3 = '%……&' #特殊符号 print(S1.isalnum()) print(S2.isalnum()) print(S3.isalnum()) #执行结果 True True False


注意点:

1.python官方定义中的字母:大家默认为英文字母+汉字即可

2.python官方定义中的数字:大家默认为阿拉伯数字+带圈的数字即可

相信只要理解到这两点,这三个函数的在使用时的具体返回值,大家就很明确了~~