Is `id` a keyword in python?
id
is not a keyword in Python, but it is the name of a built-in function.
The keywords are:
and del from not whileas elif global or withassert else if pass yieldbreak except import printclass exec in raisecontinue finally is returndef for lambda try
Keywords are invalid variable names. The following would be a syntax error:
if = 1
On the other hand, built-in functions like id
or type
or str
can be shadowed:
str = "hello" # don't do this
You can also get help from python:
>>> help(id)Help on built-in function id in module __builtin__:id(...) id(object) -> integer Return the identity of an object. This is guaranteed to be unique among simultaneously existing objects. (Hint: it's the object's memory address.)
or alternatively you can question IPython
IPython 0.10.2 [on Py 2.6.6][C:/]|1> id??Type: builtin_function_or_methodBase Class: <type 'builtin_function_or_method'>String Form: <built-in function id>Namespace: Python builtinDocstring [source file open failed]: id(object) -> integerReturn the identity of an object. This is guaranteed to be unique amongsimultaneously existing objects. (Hint: it's the object's memory address.)
Just for reference purposes:
Check if something is a keyword in Python:
>>> import keyword >>> keyword.iskeyword('id')False
Check all the keywords in Python:
>>> keyword.kwlist['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']