Identifier is a set of valid strings allowed as names in computer languages.
Pyhon identifier rules:
1. The first character must be a letter or an underscore (_), that is, it cannot Open with numbers.
2. The remaining characters can be letters, numbers and underscores, that is, they cannot contain symbols other than underscores (spaces, operators...).
3. Case sensitive.
4. Python’s reserved keywords cannot be used as identifiers.
5. It is not recommended to use Python's built-in name collection as an identifier.
Python provides the keyword module to query the keyword set and determine whether a string is a python keyword:
Python’s legal identifier
The following code allows the user to input a string and then determine whether it is a legal python identifier. If not, continue inputting until the input is correct and the program exits.
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)
The above is the detailed content of Which is not a legal identifier in python. For more information, please follow other related articles on the PHP Chinese website!