The Python Language Reference — Python 2.7.18 documentation

This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release.

# The Python Language Reference

This reference manual describes the syntax and “core semantics” of the language. It is terse, but attempts to be exact and complete. The semantics of non-essential built-in object types and of the built-in functions and modules are described in The Python Standard Library. For an informal introduction to the language, see The Python Tutorial. For C or C++ programmers, two additional manuals exist: Extending and Embedding the Python Interpreter describes the high-level picture of how to write a Python extension module, and the Python/C API Reference Manual describes the interfaces available to C/C++ programmers in detail.

- 1. Introduction
  - 1.1. Alternate Implementations
  - 1.2. Notation
- 2. Lexical analysis
  - 2.1. Line structure
  - 2.2. Other tokens
  - 2.3. Identifiers and keywords
  - 2.4. Literals
  - 2.5. Operators
  - 2.6. Delimiters
- 3. Data model
  - 3.1. Objects, values and types
  - 3.2. The standard type hierarchy
  - 3.3. New-style and classic classes
  - 3.4. Special method names
- 4. Execution model
  - 4.1. Naming and binding
  - 4.2. Exceptions
- 5. Expressions
  - 5.1. Arithmetic conversions
  - 5.2. Atoms
  - 5.3. Primaries
  - 5.4. The power operator
  - 5.5. Unary arithmetic and bitwise operations
  - 5.6. Binary arithmetic operations
  - 5.7. Shifting operations
  - 5.8. Binary bitwise operations
  - 5.9. Comparisons
  - 5.10. Boolean operations
  - 5.11. Conditional Expressions
  - 5.12. Lambdas
  - 5.13. Expression lists
  - 5.14. Evaluation order
  - 5.15. Operator precedence
- 6. Simple statements
  - 6.1. Expression statements
  - 6.2. Assignment statements
  - 6.3. The `assert` statement
  - 6.4. The `pass` statement
  - 6.5. The `del` statement
  - 6.6. The `print` statement
  - 6.7. The `return` statement
  - 6.8. The `yield` statement
  - 6.9. The `raise` statement
  - 6.10. The `break` statement
  - 6.11. The `continue` statement
  - 6.12. The `import` statement
  - 6.13. The `global` statement
  - 6.14. The `exec` statement
- 7. Compound statements
  - 7.1. The `if` statement
  - 7.2. The `while` statement
  - 7.3. The `for` statement
  - 7.4. The `try` statement
  - 7.5. The `with` statement
  - 7.6. Function definitions
  - 7.7. Class definitions
- 8. Top-level components
  - 8.1. Complete Python programs
  - 8.2. File input
  - 8.3. Interactive input
  - 8.4. Expression input
- 9. Full Grammar specification