isidentifier
是一个Python函数,它简单地测试一个字符串是否仅包含某些字符(下划线,数字和阿尔法)并以alpha或下划线开头,因此该字符串可用于有效的Python标识符。测试字符类别的其他函数是isalpha
,isalnum
,isdigit
等。
ss = (
'varABC123',
'123ABCvar',
'_123ABCvar',
'var_ABC_123',
'var-ABC-123',
'var.ABC.123',
# check your own strings
)
fmt = '%-15s%-10s%-10s%-10s%-10s'
print(fmt % ('', 'isalpha', 'isalnum', 'isdigit', 'isidentifier'))
for s in ss:
print(fmt % (s, s.isalpha(), s.isalnum(), s.isdigit(), s.isidentifier()))
结果:
isalpha isalnum isdigit isidentifier
varABC123 False True False True
123ABCvar False True False False
_123ABCvar False False False True
var_ABC_123 False False False True
var-ABC-123 False False False False
var.ABC.123 False False False False
写什么rosscj2533 *认为*是的,我想你可以做isIdentifier不同()第一,然后做一个eval(),看看它给你一个NameError或不。 – MatrixFrog 2010-01-03 22:13:10
啊,我正在使用它作为目前正在使用的有效标识符。谢谢。 – rosscj2533 2010-01-03 22:17:46
@MatrixFrog - 更好地测试locals()和globals()中是否存在此标识符,而不是eval()。更快*和*更安全。 – PaulMcG 2010-01-04 00:07:00