python缩进是什么意思

大家好,给大家分享一下python缩进有什么作用,很多人还不知道这一点。下面详细解释一下。现在让我们来看看!

概述

Python 中的缩进只是代码行开头的空格。在其他语言如C、C++等中,缩进只是为了可读性,但在Python中,缩进是编写Python代码时必须遵循的基本概念否则,python 解释器会抛出IndentationError。

Python 中的缩进是什么

缩进是Python中任何语句之前的前导空格(空格或/和制表符)。缩进在Python中很重要的原因是缩进除了代码可读性之外还有另一个目的。Python 将具有相同缩进级别的语句(前面具有相同数量空格的语句)视为单个代码块。因此,在 C、C++ 等语言中,代码块由大括号 { }表示,而在 python 中,代码块是一组具有相同缩进级别(即相同数量的前导空格)的语句。

 下面是从上图可以得出的一些观察结果:

所有处于同一缩进级别(前面的空格数量相同)的语句都属于一个块,因此从上图中,第 1 行、第 2 行和第 7 行中的语句属于单个块,并且块的缩进级别为零或最低。语句 3 和 5 缩进一步,在第一级缩进处形成另一个块。类似地,语句 4 和 6 缩进两级,因此它们一起在第二级缩进形成另一个块。在第 2 行语句(即 if 语句)下方,语句 3 和 5 缩进一级;因此,它们属于一个块。由于第 2 行是 if 语句,因此第一个if下面缩进的块形成第二个if的主体。因此,这里,第 2 行的 if 语句主体包括其下方缩进的所有行,即第 3、4、5 和 6 行。现在我们知道第 3、4、5 和 6 行的语句构成了第 2 行 if 语句的主体。让我们了解它们的缩进。3和5处的语句是统一缩进的,因此它们属于一个块(从解释上看是块2),并且它们将被一条一条地执行。第 4 行的语句构成了第 3 行的 if 语句的主体,正如我们所知,任何在 if 下方缩进的语句都构成了 if 语句的主体,类似地,第 6 行的语句构成了第 5 行的 else 语句的主体。这就是缩进如何帮助定义块并识别该块属于哪些语句。

执行

执行从第 1 行开始,然后是第 2 行的语句;如果条件被评估并且万一它返回 true,则控制进入 if 语句的主体内部,这将语句 3、4、5 和 6 带到图片中。 现在,执行第 3 行的语句,如果条件被评估,如果它返回 true,则执行第 4 行,之后控制转到第 7 行。如果第 3 行的条件返回 false,则控制转到另一个语句是第 5 行,然后执行第 6 行,然后执行第 7 行的语句。如果第 2 行的条件返回 false,则控件会跳过第 3、4、5 和 6 行并转到第 7 行的语句。

例子

示例 1:下面是一个示例代码片段,在 python 中具有正确的缩进。

代码:

 
name = 'Rahul'
  
if name == 'Rahul':
   print('Welcome Rahul..')
   print('How are you?')
else:
   print('Dude! whoever you are ')
   print('Why you here?')
 
print('Have a great day!')

输出:

 
Welcome Rahul..
How are you?
Have a great day!
解释:

在第一个语句中 name 变量被分配给 Rahul现在if name == 'Rahul' :语句被求值,它返回 true,因此它执行 if 的主体,即 if 语句下面缩进的接下来的两个语句。正文中的两条语句是print('Welcome Rahul..')和print('How are you?')并且它们被执行。一旦该语句被执行,else 部分就会被跳过,控制权会转到下一条语句,即 print ('Have a beautiful day!'),并执行该语句。在此程序中,if 和 else 体内的语句是缩进的。

示例 2:下面是具有正确缩进的示例代码片段。

代码:

 
i = 1
while(i <= 6):
    print("Value is " + str(i))
    i = i + 1

输出:

 
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is 6
解释:

变量 i 在第一个语句中初始化为 1现在while(i <= 6)被执行,这是正确的,因此 while 的主体被执行。while 的主体是while 循环下方缩进的所有语句。因此 print (“Value is” + str(i))和i = i + 1被执行。重复这个过程直到 while 条件返回 false。这里语句 print (“Value is ” + str(i))和i = i + 1统一缩进形成一个块,也是 while 语句的主体。

如何缩进你的Python代码

让我们通过一个简单的例子来了解如何缩进 python 代码。

示例:检查给定数字是偶数还是奇数,如果为零则既不打印偶数也不打印奇数

让我们逐步讨论该方法:

第一步是用输入数字分配一个整数变量。编写一个 if-else 块来检查输入数字是否为 0, 如果不为零,则在 if 块内编写另一个if-else(内部 if-else)块来检查条件数 % 2 == 0(这是对给定数的偶数检查) 如果条件number % 2 == 0为 true,则打印该数字是偶数。如果条件数 % 2 == 0为假,则 else 块打印中的数字为奇数。如果数字为零,则在外部 else 块内打印给定数字既不是偶数也不是奇数。

代码:

 
number = 50

if(number != 0):
 if(number % 2 == 0):
   print("Given number is Even")
 else:
   print("Given number is Odd")
else:
 print("Given number is neither even nor odd")

输出:

 
Given number is Even
解释:

在缩进线的第一级,数字 1、3 和 8 属于单个块。从第 1 行开始执行,然后执行第 3 行。在第 3 行,计算 if 条件,并且由于number != 0返回 True,因此控制进入 if 条件内部,即第 3 行 if 下方的缩进语句块。在 if 块内 第 4 行和第 6 行位于同一缩进级别(第二缩进级别),因此它们属于单个块计算第 4 行的 if 条件,由于 50 % 2 == 0 返回 True,因此控制进入第 4 行的 if 语句。因此控制转到第 5 行,并执行 print 语句。Control Late 跳过内部 if-else 内的 else 块和外部 if-else 的 else 块,并转到第 9 行下面的语句。

如何避免Python缩进错误

1.如果跳过缩进,Python会抛出缩进错误。例如,下面的代码将抛出IndentationError: Expected an indented block错误:

错误的缩进(错误):

 
if( 1 == 1):
print("This is test code")

正确缩进:

 
if( 1 == 1):
  print("This is test code")

2.对于同一代码块,缩进代码中的空格数量应该相同。否则,Python 将抛出IndentationError: Unexpected indent。

错误的缩进(错误):

 
if( 1 == 1):
 print("This is test code")
     print("This is test code1")
正确缩进:
 
if( 1 == 1):
 print("This is test code")
 print("This is test code1")

3、第一行代码不允许缩进。Python 会抛出 IndentationError: Unexpected indent。

错误的缩进(错误):

 
if( 1 == 1):
print("This is test code")
print("This is test code1")

正确缩进:

 
if( 1 == 1):
 print("This is test code")
 print("This is test code1")

4.缩进语句应附有附加语句;例如,下面所有缩进的语句形成一个块,并且属于 if 语句。这适用于python 中的while、for、functions、classes等。下面的例子清楚地说明了这一点。

错误的缩进(错误):

 
if( 1 == 1):
   print("This is test code")
 
 print("This is test code1")

上面的程序将抛出“IndentationError: unindent does not match any external indentation level”错误,因为最后一个缩进的打印语句与任何其他缩进不匹配(没有附加外部语句)。在程序中,因此这会引发错误。

正确的缩进:
 
if( 1 == 1):
   print("This is test code")
 
   print("This is test code1")

这里最后一个 print 语句的缩进与 if 块下面的 print 语句的缩进相匹配。因此,这里的外部附加语句是 if 语句。

Python 缩进规则

Python 使用四个空格作为默认缩进空间。然而,空格的数量可以是任意的;这取决于用户。但至少需要一个空格来缩进一条语句。python 代码的第一行不能有缩进。Python 中必须使用缩进来定义语句块。代码块中的空格数量必须一致。在Python中最好使用空格而不是制表符来缩进。另外,可以使用空格或制表符来缩进;缩进中混合使用制表符和空格可能会导致错误的缩进错误。

Python 中缩进的好处

尽管Python中缩进的主要原因是为了识别块结构,但代码缩进可以提高可读性。C、C++ 语言中有时会出现缺少 { 和 } 的错误,在 python 中可以避免;代码行数也减少了。

Python 中缩进的缺点

代码必须仔细缩进适当数量的空格,并确保单个块中空格的一致性。如果 python 代码中的行数很大,如果缩进偶然被破坏,有时这会变得乏味。如果没有使用好的编辑器/IDE来帮助缩进,编写Python代码,尤其是大行代码,有时是一项乏味的任务,因为对于每一行,我们也应该在缩进中创建一个类型。

结论

Python 缩进是任何新的 Python 编程和理解的基础概念。Python 中必须使用缩进来定义语句块。在Python中最好使用空格而不是制表符来缩进。Python 使用四个空格作为默认缩进空间。
原文地址:https://blog.csdn.net/mzgxinhua/article/details/135659842

  • 11
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值