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更少,效率翻倍!
