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