【问题标题】:for loop code blockfor循环代码块
【发布时间】:2013-09-03 12:00:51
【问题描述】:

我正在阅读有关 python here 的教程,并且想知道如果 for 循环没有像 {} 这样的块,我们如何知道哪个代码块在 for 循环中。我们是否必须根据代码的缩进来阅读它?还是我错过了一些关于 python 的基本知识?当我在for循环中尝试在notepad ++中尝试一些python代码并在我的代码中间创建一个新行时,出于某种原因,它使代码行及其上方的所有内容成为代码块,而下面的所有其他内容有些不同。我又错过了什么?我希望这不是糟糕的编程习惯。

【问题讨论】:

  • 你读过那个教程的第一章吗?这都是关于缩进的。
  • @RohitJain 不,我跳过它,直接进入第 2 章的解释器。那我就回去了。
  • @JackThor 是的,它不仅仅是为了风格。这是python中的语法

标签: python for-loop


【解决方案1】:

Python 在缩进上运行所有内容。缩进级别是它如何知道什么与什么搭配。

例如,这是有效的:

for i in range(10):
    print i

但这会因IndentationError 而爆炸:

for i in range(10):
print i

来自docs

逻辑开头的前导空格(空格和制表符) line 用于计算行的缩进级别,其中 turn 用于确定语句的分组

【讨论】:

  • 但是如果我在哪里添加一行代码到你的代码中,像这样`for i in range(10);
  • @JackThor 缩进你的大括号。如果要在for 循环中添加一行,请将其缩进与print i 相同的级别。在for 循环之后?恢复正常。想要在已经缩进的内容中再添加一个范围?再次缩进。 (还有一点建议,使用空格,或者至少让您的编辑器将制表符转换为空格。)如果您查看示例 Python 代码,这应该很快就会变得清晰。
  • @JackThor 我们将pass 用于空复合语句:for i in range(10):pass
  • @rogaos 这解释了很多。我正在使用选项卡,它阻止了代码,但如果我使用空间,它不会。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-14
  • 1970-01-01
  • 2020-02-22
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多