简介
"Python 三剑客"之一,豆瓣评分 9.3;另外两剑客为 《Python 编程快速上手 —— 让繁琐 工作自动化》和《Python 极客项目编程》第二版
- 书名:《Python 编程:从入门到实践》
- 作者:[美]埃里克·马瑟斯
- 时间:2023-05-01
- 出版社:人民邮电出版社
第一部分 基础知识
第 1 章 起步
第 2 章 变量和简单的数据类型
第 3 章 列表简介
第 4 章 操作列表
4.1 遍历整个列表
for 循环语法
for item in items:
operation_1
operation_2
...
operation_n
冒号后面的每一行缩进语句都是 for 循环每次执行的代码
使用循环打印魔术师的名字
magicians.py
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(f"{magician.title()}, that was a great trick!.")
print(f"I cat't wait to see your next trick, {magician.title()}\n")
4.1.1 深入研究循环
magicians.py
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(f"{magician.title()}, that was a great trick!.")
4.1.2 在 for 循环中执行更多操作
for 循环中每个缩进行都是循环的一部分,将在每次循环时都执行一次
magicians.py
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(f"{magician.title()}, that was a great trick!.")
print(f"I cat'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("Thank you, everyone. That was a great magic show!")
4.2 避免缩进错误
Python 根据缩进来判断代码行与程序其他部分的关系。
4.2.1 忘记缩进
位于 for 语句后面且属于循环组成部分的代码行,一定要缩进。
4.2.2 忘记缩进额外的代码行
有时候循环可以正常执行,但结果出人意料。当试图在循环中执行多项操作时,却忘记缩进其中一些操作,就会出现这种情况。
magicians = ['alice', 'david', 'carolina']
for magician in magicians:
print(f"{magician.title()}, that was great trick!")
print(f"I cant't wait to see your next trick, {magician.title()}.\n")
第二个 print 原本需要缩进,但是 Python 发现 for 语句后面有一行代码是缩进的,因此没有报错。最终结果是如下,只有最后一个魔术师收到了消息"I can't wait to see your next trick":
Alice, that was great trick!
David, that was great trick!
Carolina, that was great trick!
I cant't wait to see your next trick, Carolina.
这是一个逻辑错误。
4.2.3 不必要的缩进
如果不小心缩进了无须缩进的代码行 ,Python 将指出这一点:
message = "Hello Python World!"
print(message)
调用 print 无须缩进,因为它并非循环的一部分,因此 Python 将指 出这种错误:
File "hello_world.py", line 2
print(message)
IndentationError: unexpected indent