6.Python缩进规则(包含快捷键)
和其它程序设计语言(如 Java、C 语言)采用大括号“{}”分隔代码块不同,Python 采用代码缩进和冒号( : )来区分代码块之间的层次。
在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。
注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格)。
例如,下面这段 Python 代码中(涉及到了目前尚未学到的知识,初学者无需理解代码含义,只需体会代码块的缩进规则即可):
- height=float(input("输入身高:")) #输入身高
- weight=fioat(input("输入体重:")) #输入体重
- bmi=weight/(height*height) #计算BMI指数
- #判断身材是否合理
- if bmi<18.5:
- #下面 2 行同属于 if 分支语句中包含的代码,因此属于同一作用域
- print("BMI指数为:"+str(bmi)) #输出BMI指数
- print("体重过轻")
- if bmi>=18.5 and bmi<24.9:
- print("BMI指数为:"+str(bmi)) #输出BMI指数
- print("正常范围,注意保持")
- if bmi>=24.9 and bmi<29.9:
- print("BMI指数为:"+str(bmi)) #输出BMI指数
- print("体重过重")
- if bmi>=29.9:
- print(BMI指数为:"+str(bmi)) #输出BMI指数
- print("肥胖")
Python 对代码的缩进要求非常严格,同一个级别代码块的缩进量必须一样,否则解释器会报 SyntaxError 异常错误。例如,对上面代码做错误改动,将位于同一作用域中的 2 行代码,它们的缩进量分别设置为 4 个空格和 3 个空格,如下所示:
- if bmi<18.5:
- print("BMI指数为:"+str(bmi)) #输出BMI指数
- print("体重过轻")
可以看到,第二行代码和第三航代码本来属于同一作用域,但我们手动修改了各自的缩进量,这会导致 SyntaxError 异常错误,如图 1 所示。

图 1 缩进不符合规范导致异常
对于 Python 缩进规则,初学者可以这样理解,Python 要求属于同一作用域中的各行代码,它们的缩进量必须一致,但具体缩进量为多少,并不做硬性规定。
IDLE 开发环境对缩进量的设置
在 IDLE 开发环境中,默认是以 4 个空格作为代码的基本缩进单位。不过,这个值是可以手动改变的,在菜单栏中选择Options -> Configure,会弹出如下对话框:

如图所示,通过拖动滑块,即可改变默认的代码缩进量,例如拖动至 2,则当你使用 Tab 键设置代码缩进量时,会发现按一次 Tab 键,代码缩进 2 个空格的长度。
不仅如此,在使用 IDLE 开发环境编写 Python 代码时,如果想通过设置多行代码的缩进量,可以使用 Ctrl+] 和 Ctrl+[ 快捷键,此快捷键可以使所选中代码快速缩进(或反缩进)。
6.Python缩进规则(包含快捷键)的更多相关文章
- Haskell缩进规则
Haskell也是使用缩进来表示一个表达式或者块延伸的范围的,这点与Python类似.Haskell的缩进规则简单总结起来只用下面三条: 1. 源文件中第一个顶级的定义或者声明的缩进,定义了该文 ...
- Python IDE PyCharm的快捷键大全
Python IDE PyCharm的快捷键大全 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 快速导入任意类 Ctrl ...
- Python缩进和选择
Python缩进和选择 缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例.if后面跟随条件,如果条件成立,则执行归属于if的一个代码块. 先看C语言的表达方式(注意,这 ...
- python缩进报错
1.这个错误应该已经好久了:也应该熟悉了才对 IndentationError: unexpected indent python 缩进错误:意外缩进Python 但今天的问题有点特殊,我想在程序中间 ...
- 【Python】解析Python的缩进规则
Python中的缩进(Indentation)决定了代码的作用域范围.这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号花括号{}符决定作用域的范围:python使用缩进空格来表示作用域 ...
- python面试题包含基础和Linux操作以及数据库相关
今天面试了一家公司,感觉表现的不是很好,记录一下面试的试题. python基础部分 python 是一门什么样的语言面向对象的语言有那些,python的面向对象和Java面向对象的区别 Python是 ...
- python开发规则
1.Python优点:简单.优雅.明确 python缺点 2.强大的模块三房库 1.代码不能加密 3.易移植 2.速度慢 4.面向对象 5.可扩展(c\java\c#....) cpython ipy ...
- Python编程工具IDLE快捷键
IDLE编辑器快捷键 自动补全代码 Alt+/(查找编辑器内已经写过的代码来补全) 补全提示 Ctrl+Shift+space(默认与输入法冲突,修改之) (方 ...
- Python缩进与if语句 空格的魅力
缩进 Python最具特色的是用缩进来标明成块的代码.我下面以if选择结构来举例.if后面跟随条件,如果条件成立,则执行归属于if的一个代码块. 先看C语言的表达方式(注意,这是C,不是Python! ...
随机推荐
- Python的入门(day1)
一:Python的起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种 ...
- Ubuntu 19.04
Ubuntu 19.04自动挂载机械盘 创建要挂载的文件夹 sudo mkdir /home/soldier/SOLDIER 获取UUID sudo blkid 分区的TYPE是“ntfs” 编辑/e ...
- numpy使用数组进行数据处理
numpy使用数组进行数据处理 meshgrid函数 理解: 二维坐标系中,X轴可以取三个值1,2,3, Y轴可以取三个值7,8, 请问可以获得多少个点的坐标? 显而易见是6个: (1,7)(2,7) ...
- trigraph
trigraph是c/c++对之前键盘无法输入一些符号而做出的补充设计,将以下字符用其他三个字符来代替 # ??= \ ??/ ^ ??' [ ??( ] ??) { ??< } ??> ...
- linux 内核数据结构之红黑树.
转载: http://www.cnblogs.com/haippy/archive/2012/09/02/2668099.html https://zh.wikipedia.org/zh/%E7%BA ...
- PHP控制session时效(转)
1.php session 有效期php的session有效期默认是1440秒(24分钟),如果客户端超过24分钟没有刷新,当前session会被回收,失效. 当用户关闭浏览器,会话结束,sessio ...
- PropertyUtilsBean 将bean转成map
public static Map<String,String> beanToMap(Object bean) { Map<String,String> params =Map ...
- java实现spark常用算子之countbykey
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spa ...
- wex5 如何导包
wex5中 导jar包 要先把jar文件放在: E:\WeX5\runtime\BaasServer\WEB-INF\lib目录中(我wex5放的是E盘) 点击项目 --> 属性 --> ...
- 如何申请百度小程序的appid(目前不支持个人账号申请)
一.搜索百度智能小程序,并使用百度账号登陆 填写相关资料进入审核阶段,审核成功即可进入百度小程序开发者后台.打开“智能小程序首页”-“设置”-“开发设置”, 查看百度小程序的 AppID