Python If Statement

Tutorial Difficulty Level    

Python is quite unusual in that blocks of statements are defined not with the usual markers, { and }, or begin and end, but by the actual indention of the code itself.

Below is a summary of the rules. Note that blank lines and comments are ignored, so “line” in this discussion means only the non-blank, non-comment lines.

  1. The first line starts the first block and must not be indented. Indenting the first line is a syntax error.
  2. A line which is indented the same as the one immediately before belongs to the same block.
  3. A line which is indented more than the one immediately before it starts a new block.
  4. A line y which is indented less than the line x immediately before it closes x‘s block and belongs to an earlier block. Specifically:
    • Line y is matched with the most recent line a which has the same indent.
    • If there is no such line a, or if some line between a and y has a lesser indent, y is a syntax error. Otherwise:
    • Line y belongs to the same block as a.
    • All blocks started between a and y (including the one x belongs to) are closed.
  5. The end-of-file closes all open blocks.