【青少年编程】Python的缩进规则
「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。
微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。
今天有小朋友问我以下的选择题:
关于 Python 程序格式框架,以下选项中描述错误的是()
A. Python 语言不采用严格的“缩进”来表明程序的格式框架 B. Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围 C. Python 语言的缩进可以采用 Tab 键实现 D. 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义
这个题目选择A,趁着这个机会总结一下Python的缩进规则。
通常来说,一条 Python 语句应在一行内写完,但如果语句很长,可以使用反斜杠\
来实现多行语句。
【例子】
s = "欢迎大家加入到我们的青少年编程竞赛交流群," \
"我们一起学习,一起成长。"
print(s)
# 欢迎大家加入到我们的青少年编程竞赛交流群,我们一起学习,一起成长。
需要注意的是,在成对的大括号{ }
(集合或字典结构)、中括号[ ]
(列表结构)或小括号( )
(元组结构)中的多行语句,不需要使用反斜杠\
。
【例子】
t = ({"age": 20, "name": "a"},
{"age": 25, "name": "b"},
{"age": 10, "name": "c"})
print(t)
# ({'age': 20, 'name': 'a'}, {'age': 25, 'name': 'b'}, {'age': 10, 'name': 'c'})
可见,在编写程序时使用的是物理行,Python 环境使用的则是逻辑行。
在 Python 中可以使用分号“;”标识一个逻辑行的结束,但为了避免使用分号,通常在每个物理行中只写一个逻辑行。
Python 最具特色的语法是使用缩进来表示代码块,好处是不需要像其他语言一样使用大括号{ }
。
行首的空白(空格或制表符)用来决定逻辑行的缩进层次,从而决定语句的分组(即代码块),这意味着不同代码块缩进的距离(即行首空白)可以不同,但同一代码块的语句必须有相同的缩进距离,每一组这样的语句称为一个代码块。
【例子】
temp = input("猜一猜小姐姐想的是哪个数字?")
guess = int(temp)
if guess > 8:
print("大了,大了")
else:
if guess == 8:
print("你太了解小姐姐的心思了!")
print("哼,猜对也没有奖励!")
else:
print("小了,小了")
print("游戏结束,不玩儿啦!")
注意:不要混合使用空格和制表符来缩进,这将导致同一段 Python 代码在不同的操作系统中无法正常工作。