##
2.3.1 Keywords

The following identifiers are used as reserved words, or keywords of the language, and cannot be used as ordinary identifiers. They must be spelled exactly as written here:

    and       del       from      not       while
    as        elif      global    or        with
    assert    else      if        pass      yield
    break     except    import    print
    class     exec      in        raise
    continue  finally   is        return
    def       for       lambda    try

Changed in version 2.4: `None` became a constant and is now recognized by the compiler as a name for the built-in object `None`. Although it is not a keyword, you cannot assign a different object to it.

Changed in version 2.5: Both `as` and `with` are only recognized when the `with_statement` future feature has been enabled. It will always be enabled in Python 2.6. See section 7.5 for details. Note that using `as` and `with` as identifiers will always issue a warning, even when the `with_statement` future directive is not in effect.