【摘要】在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是python,也用在各行各业之中,并被大家所熟知,所以也有越来越多的python学习者关注python的问题,今天环球网校的小编就来和大家讲讲Python if else对缩进的要求。

Python 是以缩进来标记代码块的,代码块一定要有缩进,没有缩进的不是代码块。另外,同一个代码块的缩进量要相同,缩进量不同的不属于同一个代码块。

1、Python if else对缩进的要求——不要忘记缩进

if、elif 和 else 后面的代码块一定要缩进,而且缩进量要大于 if、elif 和 else 本身。例如,下面的代码就是一个反面教材:

age = int( input("请输入你的年龄:") )if age < 18 :print("警告:你还未成年,不能使用该软件!")else:print("你已经成年,可以使用该软件。")

本例中的 print() 函数和 if、else 语句是对齐的,在同一条竖线上,都没有缩进,所以 print() 就不是 if、else 的代码块了,这会导致 Python 解释器找不到 if、else 的代码块,从而报出如下错误:

SyntaxError: expected an indented block

翻译过来就是:

语法错误:需要一个缩进的代码块

总之,if、else 后面的代码一定要缩进,否则就不能构成 if、else 的执行体。

2、Python if else对缩进的要求——缩进多少合适?

Python 要求代码块必须缩进,但是却没有要求缩进量,你可以缩进 n 个空格,也可以缩进 n 个 Tab 键的位置。

但是从编程习惯的角度看,我建议缩进 1 个 Tab 键的位置,或者缩进 4 个空格;它们两者其实是等价的,很多编辑器都可以将 Tab 键设置为 4 个空格,比如,IDLE 中默认 Tab 键就是 4 个空格。

3、Python if else对缩进的要求——所有语句都要缩进

一个代码块的所有语句都要缩进,而且缩进量必须相同。如果某个语句忘记缩进了,Python 解释器并不一定会报错,但是程序的运行逻辑往往会有问题。请看下面的代码:

age = int( input("请输入你的年龄:") )if age < 18 : print("你还未成年,建议在家人陪同下使用该软件!")print("未成年人如果得到了家长的同意,请忽略以上提示。") #忘记缩进

这段代码并没有语法错误,但是它的运行逻辑是不对的,比如,输入 16 的运行结果如下:

请输入你的年龄:24↙

未成年人如果得到了家长的同意,请忽略以上提示。

用户的年龄分明大于 18,但是却出现了“未成年人”的提示,画面非常尴尬,这是因为第二个 print() 语句没有缩进,if 没有把它和第一个 print() 语句当做同一个代码块,所以它不是 if 执行体的一部分。解决这个错误也很容易,让第二个 print() 缩进 4 个空格即可。

4、Python if else对缩进的要求——同一代码块缩进量要相同

Python 虽然不限制代码块的缩进量,你可以随意缩进 n 个空格,但是,同一个代码块内的所有语句都必须拥有相同的缩进量,不能一会缩进 2 个空格,一会缩进 4 个空格。下面的代码是一个反面教材:

age = int( input("请输入你的年龄:") )if age < 18 : print("你还未成年,建议在家人陪同下使用该软件!") print("未成年人如果得到了家长的同意,请忽略以上提示。") #缩进量不对

运行这段代码,Python 解释器会报出语法错误:

SyntaxError: unexpected indent

翻译过来就是:

语法错误:意外的缩进

这段代码中,第一个 print() 语句缩进了 4 个空格,第二个 print() 语句缩进了 6 个空格,缩进量不同导致它们不是同一个代码块。Python 会认为第一个 print() 语句是 if 的执行体,而第二个 print() 是一个意外的存在,不知道该把它当做谁的代码块,所以解析失败,报错。

总之,位于同一个代码块中的所有语句必须拥有相同的缩进量,多一个空格或者少一个空格都不行。

5、Python if else对缩进的要求——不要随便缩进

另外需要注意的是,不需要使用代码块的地方千万不要缩进,一旦缩进就会产生一个代码块。下面的代码是一个反面教材:

info = "Python教程的网址是:http://c.biancheng.net/python/" print(info)

这两条简单的语句没有包含分支、循环、函数、类等结构,不应该使用缩进。

以上就是有关于Python if else对缩进的要求的全部内容,小编希望大家所学的python知识可以用在自己的工作领域中,毕竟作为一个应用类的技能,最终还是要应用在实际领域中才能发挥它的作用,环球网校的小编在这里祝大家学有所成,并彻底掌握python的使用方法。

python中、if语句的下一句一定要缩进吗_【python公开课|Python if else对缩进的要求是什么,想做好python,就一定要看这个文章】- 环球网校...相关推荐

  1. python中for语句涉及的序列可以是关系表达式吗_为什么我可以在Python for循环中为迭代器和序列使用相同的名称?...

    x告诉我们什么: Python 3.4.1 (default, May 19 2014, 13:10:29) [GCC 4.2.1 Compatible Apple LLVM 5.1 (clang-5 ...

  2. python中if语句的实例_对python中if语句的真假判断实例详解

    说明 在python中,if作为条件语句,当if后面的条件参数为真时,则执行后面的语句块,反之跳过,为了深入理解if语句,我们需要知道if语句的真假判断方式. 示例 在python交互器中,经过测试发 ...

  3. python中for语句只有一种写法for in_pythonforin语句

    Python中有一种语句 for i in range 还有for i range这两个句子怎么用 - # python中只有for i in range()语法,没有for i range() # ...

  4. python中break怎么用_详解Python中break语句的用法

    详解Python中break语句的用法 在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中 ...

  5. Python中 if 语句及其使用

    文章目录 前言 一. 条件测试 1.比较字符串相等或不相等 2.比较数字 3.检查多个条件 4.检查特定值是否在列表中 二.if 语句 1.简单的if语句 2. if-else 语句 3. if-el ...

  6. Python中import语句用法详解

    一. 什么是模块(module)? 在实际应用中,有时程序所要实现功能比较复杂,代码量也很大.若把所有的代码都存储在一个文件中,则不利于代码的复用和维护.一种更好的方式是将实现不同功能的代码分拆到多个 ...

  7. python中break的作用_详解Python中break语句的用法

    在Python中的break语句终止当前循环,继续执行下一个语句,就像C语言中的break一样. break最常见的用途是当一些外部条件被触发,需要从一个循环中断退出. break语句可以在while ...

  8. python的用途实例-python中pass语句意义与作用(实例分析)

    想必大家都是刚刚才开始接触python这门语言的,今天这篇文章就来带大家来了解一下python这门语言之中常常会用到的一个语句pass语句.想必大家都很好奇python中pass作用是什么,接下来我就 ...

  9. 【Python】Python实战从入门到精通之三 -- 教你使用Python中条件语句

    本文是Python实战–从入门到精通系列的第三篇文章: Python实战从入门到精通第1讲–Python中的变量和数据类型 Python实战从入门到精通第2讲–Python中列表操作详解 Python ...

  10. python中for语句的使用_对Python中for复合语句的使用示例讲解

    当Python中用到双重for循环设计的时候我一般会使用循环的嵌套,但是在Python中其实还存在另一种技巧--for复合语句. 简单写一个小程序,用于延时循环嵌套功能如下: #!/usr/bin/p ...

最新文章

  1. 用Leangoo项目管理工具怎么做多团队大规模Scrum敏捷开发?
  2. sublime Text3插入参考文献问题
  3. 「日常训练」Skills(Codeforce Round #339 Div.2 D)
  4. 记录flink和spark提交任务常用句
  5. 洛谷——P2095 营养膳食
  6. 训练日志 2019.8.23
  7. N皇后问题——通俗易懂地讲解(C++)
  8. 跟想这台计算机usb无法识别,无法识别的USB设备:跟这台计算机连接的一个USB设备运行不正常,WINDOWS无法识别...
  9. dma和通道的区别_Java中IO和NIO的本质和区别
  10. SqlServer转换为Mysql(mss2sql)
  11. 利用GDI+ for.NET 给图片加水印标记
  12. poj2236 并查集
  13. 专访尹毅(法师Seay):少年成名,野路子的奇妙逆袭 - FreeBuf.COM | 关注黑客与极客...
  14. 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
  15. EHCache的使用教程
  16. PS星光闪耀滤镜:Topaz Star Effects Mac版
  17. 字体大宝库:40款好看的英文手写字体下载
  18. SafeNet在软件保护与授权领域有三大知名品牌
  19. Java去除首尾指定字符串
  20. php word 开发指南大全 点击目录查看所有功能

热门文章

  1. Swift中文教程(七) 闭包
  2. php ASCII 字符转换 (汉字及特殊字符) 宽字符 (uft8/unicode)
  3. 斗地主AI算法——第十章の被动出牌(4)
  4. 背包——变向背包(hdu2546,1114,1203,2189)
  5. LeetCode 69. Sqrt(x)
  6. 【AI视野·今日CV 计算机视觉论文速览 第204期】Mon, 24 May 2021
  7. 在linux下使用wine安装photoshop cs6
  8. css 列表相关的属性 列表前的小点点 0302
  9. python定义只有一个元素的元组
  10. Python MySqlDB 增删改数据库(转载)