Is `id` a keyword in python? Is `id` a keyword in python? python python

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']