虽然语言的规范不需要规定语言的解释器如何被调用,但是对完整的Python 程序有一个概念是很有用的。一个完整的Python 程序在一个最小初始化的环境中执行:可以访问所有的内建和标准模块,但是,除了(各种系统服务),builtin(内建函数,异常和 None) 以及,都没有初始化。后者用来给完整的程序的执行提供局部和全局命名空间。

完整的Python 程序的语法用于文件输入,在下面的小节中讲述。

解释器可能也会在交互模式下被调用;在这种情况下,它不会读取并执行一个完整的程序,但是它会一次读取并执行一条语句(可以是复合语句)。它的初识环境和完整的程序是完全一样的;每一条语句在main命名空间中执行。

所有从非交互式文件读取的输入都具有相同的形式:

该语法用在以下的情形:

  • 当解析一个完整的Python 程序(从一个文件或者一个字符串);
  • 当解析一个传递给语句的字符串;

交互模式下的输入使用下面的语法解析:

有两种形式的表达式输入。两种形式都忽略前导的空格。eval()的字符串参数必须具有以下的形式:

由读取的输入行必须具有以下的形式:

注意:为了读取‘原始’的不用解释的输入行, 你可以使用内建的函数raw_input() 或者文件对象的。