Pyhon标识符规则:
1. 第一个字符必须是字母或是下划线(_),即不能以数字开。
2. 剩下的字符可以是字母,数字和下划线,即不能包含除了下划线以外的符号(空格,运算符...)。
3. 大小写敏感。
4. Python的保留关键字不能作为标识符。
5. 不建议使用python的内建名字集合当作标识符。
Python提供了keyword模块来查询关键字集合和判断一个字符串是否是python的关键字:
Python的合法标识符
下面这段代码可以让用户输入一个字符串,然后判断是否是合法的python标识符,如果不是继续输入,直到输入正确,程序退出。
import keyword import string def is_valid_py_name(py_name): py_name = py_name.strip() if keyword.iskeyword(py_name): print "'{0}' is a python keyword!".format(py_name) return False elif py_name == "": print "empty input!" return False elif py_name[0] not in (string.letters+'_'): print "'{0}' not start with _ or letter!".format(py_name) return False else: for i in range(1,len(py_name)): if py_name[i] not in (string.letters+'_'+string.digits): print "'{0}' is invalid letter!".format(py_name[i]) return False print "'{0}' is valid py name!".format(py_name) return True if __name__ == "__main__": is_valid = False while not is_valid: print "Please enter a string:" py_name = raw_input() is_valid = is_valid_py_name(py_name)