4.1 遍历整个列表
需要对列表的每个元素都执行相同的操作时,可使用Python中的for循环。示例如下:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(magician)
执行结果:
4.1.1 深入了解循环
循环是让计算机自动完成重复工作的方式之一。
编写for循环时,可以依次给与列表中的每个值有关的临时变量任意名称。
4.1.2 在for循环中执行更多操作
在for循环中,可对每个元素执行任何操作。代码示例如下:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f'{magician.title()},that was a great trick!')
执行结果:
在for循环中,想包含多少代码都可以。因此,可对列表中的每个元素执行任意次数的操作。代码示例如下:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()},that was a great trick!")
print(f"I can't wait to see your next trick,{magician.title()}.\n")
执行结果:
4.1.3 在for循环结束后执行一些操作
在for循环后面,没有缩进的代码都只执行一次,不会重复执行。代码示例如下:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()},that was a great trick!")
print(f"I can't wait to see your next trick,{magician.title()}.\n")
print("Think you,everyone.That was a great magic show!")
执行结果
4.2 避免缩进错误
Python根据缩进来判断代码行与前一个代码行的关系。因此需要注意一些常见的缩进错误。
4.2.1 忘记缩进
对于位于for语句后面且属于循环组成部分的代码行,一定要缩进。错误代码示例:
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(message)
执行结果:
只需要在print语言中进行缩进即可。
4.2.2 忘记缩进
有时候,循环能够运行且不会报告错误,但结果可能出乎意料。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()},that was a great trick!")
print(f"I can't wait to see your next trick,{magician.title()}.\n")
执行结果:
预期是每人都收到一句wait to see your next trick,但结果只有Carolina收到。而这就是一种逻辑错误,导致结果不符合预期。
4.2.3 不必要的缩进
如果不小心缩进了无须缩进的代码行,也会报错:
magicians = ['alice', 'david', 'carolina']
print(magicians)
执行结果:
4.2.4 循环后的不必要缩进
如果循环了应在循环后执行的代码,这些代码将会重复执行。这种情况可能会导致语法错误,但是大多数情况是逻辑错误:
magicians = ['alice',