Python字符串的身份鉴定术:6大判断方法,一眼看穿字符真面目

1 身份核查:isidentifier()- 你能当变量名吗?

判断字符串是否合法标识符(变量名/函数名规则):
允许:字母、数字、下划线(不能数字开头
禁止:空格、标点、特殊符号

s1 = "hello,python"  # 含逗号,非法!
print(s1.isidentifier())  # False 

s2 = "hello"          # 纯字母,合法
print(s2.isidentifier())  # True 

s3 = "张三_123"       # 中文+数字+下划线,合法
print(s3.isidentifier())  # True 

2 空白检测:isspace()- 你是“隐形人”吗?

判断字符串是否全为空白字符
包含:空格、制表符\t、换行符\n

blank = " \t\n"        # 空格+制表符+换行符
print(blank.isspace())  # True 

text = "Hello"         # 含可见字符
print(text.isspace())   # False 

3 纯血统检测:isalpha()- 你全是字母吗?

判断字符串是否全由字母组成(含中文):

print("abc".isalpha())    # True   
print("张三".isalpha())   # True (中文算字母)  
print("张3".isalpha())    # False (数字混入)

4 数字身份证:isdecimal()vsisnumeric()

▎ 严格派:isdecimal()
仅认
0-9阿拉伯数字

print("123".isdecimal())   # True   
print("123④".isdecimal())  # False (罗马数字不算) 

▎ 包容派:isnumeric()
所有数字字符(罗马/中文/分数等):

print("123④".isnumeric())  # True   
print("三Ⅳ 1/2 ".isnumeric())   # True (中文+罗马+分数)

关键区别"123"两者都认,"①"isnumeric()认!


5 混合体检测:isalnum()- 你是“字母+数字”吗?

判断是否仅含字母或数字(无符号/空格):

print("abc123".isalnum())   # True   
print("张三123".isalnum())  # True   
print("hello!".isalnum())   # False (叹号违规)  
print("a_b".isalnum())      # False (下划线不是字母数字!)

终极总结表:一键收藏!

方法

作用

示例 True

示例 False

isidentifier()

是否合法变量名

hello, _data

123var, a-b

isspace()

是否全空白符

\n\t

" text "

isalpha()

是否全字母(含中文)

"Python", "中文"

"a1"

isdecimal()

是否全0-9数字

"123"

"①", "五"

isnumeric()

是否全数字字符

"123", "Ⅳ"

"12a"

isalnum()

是否仅含字母或数字

"abc123"

"a!b", "a_b"

掌握这6把“照妖镜”,字符串身份无所遁形!代码验证更准,bug更少,效率翻倍!

原文链接:,转发请注明来源!