在 IDLE shell 中输入多行/语句?

Entering multiple lines / statements into the IDLE shell?

x=100

输入

if x == 10:
    print("10!")
elif x == 20:
    print("20!")
else:
    print("I don't know!")

它打印 我不知道! 尽管它不止一行? shell的限制是多少? “单独执行”是什么意思 - 无论您编写多少代码,它都会执行第一行/语句并忽略其余部分?

一个Python程序是一个语句序列。在 IDLE 的 Shell 中,一次输入并执行一条语句。这比在 Windows 控制台或 *nix 终端中使用 python.exe 运行 一次输入单个物理行要有用得多。你引用的文字说的是后者,不是IDLE。

要了解'statement',就要从'line'说起。 physical line is "a sequence of characters terminated by an end-of-line sequence." A logical line can be two or more physical lines joined either explicitly using a \ character or implicitly 使用 (), [], or {} 对。

一个simple statement comprises one logical line. A compound statement通常包含多条逻辑行,每条逻辑行可能不止一条物理行。您的 if 语句是复合语句的示例。

在 IDLE 中,一个人在一个或多个物理行上输入一个完整的语句。当一个简单的语句完成时(当一个人输入了一个完整的逻辑行时),IDLE 运行它。由于复合语句可以有无限多的逻辑行,所以输入一个空行表示结束。