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! ...
随机推荐
- [百度百科]PCI-E的速度
在早期开发中,PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O). 名为阿拉帕霍工作组(AWG)的技术工作 ...
- 元素定位--firebug安装
1.火狐浏览器调试工具firebug插件的安装 打开浏览器---添加组件---搜索firebug
- nginx正常启动,ip直接访问失败问题
1.查看iptables服务示范启动 service iptables status 2.没有安装的话安装 yum install iptables-services 3.修改配置文件, 添加一行: ...
- IIS发布出现[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
一,原因是系统DSN的配置平台位数跟系统的位数不一致(PS:确认你有没有安装对应系统的驱动.本文是34位和64位驱动都安装了) 二,解决方法,我们必须在 <控制面板---管理工具>找到对应 ...
- 吴恩达机器学习101:SVM优化目标
1.为了描述SVM,需要从logistic回归开始进行学习,通过改变一些小的动作来进行支持向量机操作.在logistic回归中我们熟悉了这个假设函数以及右边的sigmoid函数,下式中z表示θ的转置乘 ...
- vue、iview动态菜单(可折叠)
vue项目与iview3实现可折叠动态菜单. 菜单实现一下效果: 动态获取项目路由生成动态三级菜单导航 可折叠展开 根据路由name默认打开子目录,选中当前项 自动过滤需要隐藏的路由(例:登陆) 在手 ...
- setInterval 定时器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- JSON.parse()与JSON.stringify()和eval()使用方法详解
在和后端对接口的时候,遇到了一个问题 就是series里面数据变量进行拼接的时候,data数据里面全部是数值int类型的 但是因为某些需求需要让他进行某个数据之前的数据都为空 我试过用空字符串和und ...
- Ant 学习
到了新公司,发现公司使用ant 来代码生成.本来学习后写下来.在网上找到一篇教程,实在是非常给力... 就把连接记下来吧:http://www.blogjava.net/amigoxie/archiv ...
- python 服务器 cpu 监控程序--转
后台 py 代码 app.py ''' 服务器cpu监控程序 思路:后端后台线程一旦产生数据,即刻推送至前端. 好处:不需要前端ajax定时查询,节省服务器资源. 作者:hhh5460 时间:2017 ...