脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python if else语句对缩进的要求

Python if else语句对缩进的要求

2022-11-12 11:29睿科知识云 Python

这篇文章主要介绍了Python if else语句对缩进的要求,前面的一篇文章展示了选择结构的三种基本形式,并给出了实例演示,这篇文章基于上一篇内容继续对Python if else语句对缩进进行描述,需要的小伙伴可以参考一下

前言:

前面的一章我们展示了选择结构的三种基本形式,并给出了实例演示,但是大家在编写代码过程中仍然要注意一些细节,尤其是代码块的缩进,这对if else 选择结构极其重要。

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

一、不要忘记缩进

if、elif 和 else 后面的代码块一定要缩进,而且缩进量要大于 if、elif 和 else 本身。

例如,下面的代码就是一个反面教材:

?
1
2
3
4
5
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 的执行体。

二、缩进多少合适?

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

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

三、所有语句都要缩进

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

我们一起来看下面的代码:

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

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

请输入你的年龄:24↙
未成年人如果得到了家长的同意,请忽略以上提示。

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

四、同一代码块缩进量要相同

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

下面的代码是一个反面教材:

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

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

SyntaxError: unexpected indent

翻译过来就是:

语法错误:意外的缩进

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

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

五、不要随便缩进

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

下面的代码是一个反面教材:

?
1
2
info = "服务器之家的地址是:http://www.tuohang.net/"
    print(info)

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

到此这篇关于Python if else语句对缩进的要求的文章就介绍到这了,更多相关Python if else语句缩进内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://ruikezhishiyun.blog.csdn.net/article/details/123682974

延伸 · 阅读

精彩推荐
  • Python在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    这篇文章主要介绍了在阿里云服务器上配置CentOS+Nginx+Python+Flask环境的教程,值得一提的是这里的方案用Nginx作反向代理而使用Gunicorn作wsgi服务器,需要的朋友...

    cangmean6932020-08-28
  • Pythonpython实现朴素贝叶斯算法

    python实现朴素贝叶斯算法

    这篇文章主要为大家详细介绍了Python实现朴素贝叶斯算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    永恒的秋天9522021-04-21
  • Pythonpython 循环while和for in简单实例

    python 循环while和for in简单实例

    下面小编就为大家带来一篇python 循环while和for in简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    Python教程网3022020-09-04
  • PythonPython利用Turtle绘制虎年图像

    Python利用Turtle绘制虎年图像

    2022年是农历壬寅虎年,在自然界中,虎有“百兽之王”之称。本文也将利用Python中的Turtle绘制一个卡通的虎年图像,感兴趣的可以学习一下...

    顾木子吖3782022-09-03
  • Pythonpython基于tkinter图形化编程实现简易计算器功能

    python基于tkinter图形化编程实现简易计算器功能

    这篇文章主要为大家详细介绍了python基于tkinter图形化编程实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可...

    不为人知的不知10082022-07-21
  • Pythonpython入门学习笔记分享

    python入门学习笔记分享

    这篇文章主要介绍了关于Python的一些总结,希望自己以后在学习Python的过程中可以边学习边总结,就自己之前的学习先做以总结,之后将不断总结更新 ...

    渣渣馬4192022-02-10
  • PythonPython中__init__.py文件的作用详解

    Python中__init__.py文件的作用详解

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件.这篇文章主要介绍了Python中__init__.py文件的作用详解,非常...

    Data&Truth24782020-09-08
  • Pythonpython写入文件自动换行问题的方法

    python写入文件自动换行问题的方法

    这篇文章主要介绍了python写入文件自动换行问题的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    路人甲12348252021-08-01