【摘要】在这个科学技术高速发展的时代,越来越多的人都开始选择学习编程软件,那么首先被大家选择的编程软件就是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. [kuangbin带你飞]专题五查并集
  2. nagios全攻略(三)----使用插件监控更多信息
  3. 不仅仅是商务旗舰,金立M2017的拍照实力同样给力
  4. 关于jsp标签A跳转路径的疑惑
  5. Objective-C浮点数转化整数(向上取整、向下取整)
  6. 不使用杀毒软件就上网也不会感染计算机病毒,【判断题】不使用杀毒软件就上网也不会感染计算机病毒。 A. 正确 B. 错误...
  7. C/C++:Windows编程—创建进程、终止进程、枚举进程、枚举线程、枚举DLL
  8. C++_类和对象_C++运算符重载_左移运算符重载_链式编程_实现直接打印对象---C++语言工作笔记056
  9. navicat 备份 mysql 报错 1548 cannot load mysql.proc
  10. android的命令行使用,Android命令行启动程序正确使用技巧解析
  11. 机器学习套路 —— 样本集的拆分(正样本、负样本)
  12. 儿童学计算机编程好处,十个理由告诉你孩子为什么要学习编程?
  13. 视频编解码发展历程(从AVC到HEVC再到VVC)(二)
  14. 微信自动回复和群聊消息完善
  15. C#实现微信自动回复机器人和微信支付
  16. 【基于贪心的树型动态规划】【NOI2007】追捕盗贼
  17. Ubuntu 16.04 LTS 初体验
  18. Windows10删除windows.edb文件的官方方法
  19. 使用Aircrack-ng破解WiFi密码
  20. 武汉人才服务中心---迁移户口回老家---流程

热门文章

  1. 多线程的第三种模式(callable)
  2. 用代码证明自己闲的蛋疼(三)——回溯法做数独
  3. ubuntu 14.04.03 LTS(64bit) 安装PyCharm
  4. 【今日CV 计算机视觉论文速览】Thu, 28 Mar 2019
  5. 【今日CV 视觉论文速览】Wed, 20 Feb 2019
  6. 设计数据密集型应用-C5-主从架构及同步延迟问题
  7. ktv项目小结 9206 随堂
  8. 了解Java的发展史
  9. 服务器字体指定 iconfont 字体的下载与使用 200303
  10. dj电商-数据表的设计-商品表的设计