python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python isalpha isdigit

python中isalpha () 和 isdigit ()的区别小结

作者:林深时见鹿1

本文主要介绍了python中isalpha () 和 isdigit ()的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、isalpha () 方法

1. 核心功能

判断一个字符串是否全部由字母组成(且字符串非空),满足则返回 True,否则返回 False

2. 语法格式

string.isalpha() 

3. 典型示例

# 示例1:纯英文字母(大小写)
s1 = "Python"
print(s1.isalpha())  # 输出:True
# 示例2:包含数字/符号/空格
s2 = "Python123"
s3 = "Python-"
s4 = "Python "
print(s2.isalpha())  # 输出:False(含数字)
print(s3.isalpha())  # 输出:False(含符号)
print(s4.isalpha())  # 输出:False(含空格)
# 示例3:空字符串
s5 = ""
print(s5.isalpha())  # 输出:False(空字符串)
# 示例4:中文(Unicode 字符)
s6 = "编程"
print(s6.isalpha())  # 输出:True(Python 识别中文为字母类字符)

4. 常见使用场景

二、isdigit () 方法

1. 核心功能

判断一个字符串是否全部由数字字符组成(且字符串非空),满足则返回 True,否则返回 False

2. 语法格式

string.isdigit() 

3. 典型示例

# 示例1:纯阿拉伯数字
s1 = "123456"
print(s1.isdigit())  # 输出:True
# 示例2:包含小数点/负号/空格/字母
s2 = "123.45"
s3 = "-123"
s4 = "123 "
s5 = "123a"
print(s2.isdigit())  # 输出:False(含小数点)
print(s3.isdigit())  # 输出:False(含负号)
print(s4.isdigit())  # 输出:False(含空格)
print(s5.isdigit())  # 输出:False(含字母)
# 示例3:空字符串
s6 = ""
print(s6.isdigit())  # 输出:False(空字符串)
# 示例4:Unicode 数字字符
s7 = "①②③"  # 中文数字序号
s8 = "²³⁴"    # 上标数字
print(s7.isdigit())  # 输出:True
print(s8.isdigit())  # 输出:True

4. 常见使用场景

三、关键对比与避坑点

特性isalpha()isdigit()
核心判断全字母全数字(含 Unicode 数字)
空字符串返回 False返回 False
包含空格 / 符号返回 False返回 False
中文 / 其他语言文字返回 True返回 False
小数点 / 负号无影响(本身非字母)返回 False

避坑提醒

isdigit() 不识别 “小数”“负数”:若要校验小数 / 负数,需手动处理(如 try-except 转浮点数):

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        return False
print(is_number("123.45"))  # 输出:True
print(is_number("-123"))    # 输出:True

中英文数字区别:isdigit() 识别 但不识别 isalpha() 识别 但不识别

四、实战案例:用户输入校验

# 校验用户名(仅字母/中文,长度3-8)
username = input("请输入用户名(仅文字,3-8位):")
if username.isalpha() and 3 <= len(username) <= 8:
    print("用户名合法")
else:
    print("用户名非法(需仅含文字,长度3-8)")
# 校验验证码(6位纯数字)
code = input("请输入6位数字验证码:")
if code.isdigit() and len(code) == 6:
    print("验证码合法")
else:
    print("验证码非法(需6位纯数字)")

总结

  1. isalpha():校验字符串全为字母 / 文字(含中文),空字符串 / 含数字 / 符号均返回 False;
  2. isdigit():校验字符串全为数字字符(0-9/Unicode 数字),空字符串 / 含小数点 / 负号 / 字母均返回 False;
  3. 若需校验 “数值(小数 / 负数)”,不要用 isdigit(),改用 try-except 转数值类型的方式。

到此这篇关于python中isalpha () 和 isdigit ()的区别小结的文章就介绍到这了,更多相关python isalpha isdigit内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文