python缩进讲解_Python缩进和冒号详解

对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin…end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次。缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。例如:1234ifTrue:print(“Hellogirl!”)#缩进一个tab的占位else:#与if对齐print(“Helloboy!”)#…

大家好,又见面了,我是你们的朋友全栈君。

对于Python而言代码缩进是一种语法,Python没有像其他语言一样采用{}或者begin…end分隔代码块,而是采用代码缩进和冒号来区分代码之间的层次。

缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。

例如:

1

2

3

4if

True:

print(“Hello girl!”)

#缩进一个tab的占位

else:

#与if对齐

print(“Hello boy!”)

#缩进一个tab的占位

Python对代码的缩进要求非常严格,如果不采用合理的代码缩进,将抛出SyntaxError异常。

1

2

3

4

5if

True:

print(“Hello girl!”)

else:

print(“Hello boy!”)

print(“end”)

运行该段代码将会抛出异常。

错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。

有时候代码采用合理的缩进但是缩进的情况不同,代码的执行结果也不同。有相同的缩进的代码表示这些代码属于同一代码块。

例如:

1

2

3

4

5

6

7

8

9

10

11

12# -*- coding: UTF-8 -*-

if

True:

print(“Hello girl!”)

else:

print(“Hello boy!”)

print(“end”)

print(“=========华丽的分割线===========”)

if

True:

print(“Hello girl!”)

else:

print(“Hello boy!”)

print(“end”)

运行结果:

分割线以上的print(“end”)未缩进与if对齐,因此它与if属于同一代码块,执行完if的操作,执行输出。

分割线一下的print(“end”)与print(“Hello boy!”)保持一致的缩进,则它与print(“Hello boy!”)属于else之内的代码块。

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)

Python多行语句

Python语句中一般以新行作为为语句的结束符。但是我们可以使用斜杠( \)将一行的语句分为多行显示。

1

2

3

4

5

6

7num1 =

1

num2 =

2

num3 =

3

total =

num1 +

\

num2 +

\

num3

print(“total is : %d”%total)

语句中包含[], {} 或 () 括号就不需要使用多行连接符

1

2

3days =

[‘Monday’,

‘Tuesday’, ‘Wednesday’,

‘Thursday’,

‘Friday’]

print(days)

Python代码中一行只能有一个语句,以新行作为为语句的结束符。如果一行含有多个语句将会抛出异常。

该种方式完全是像java在声明变量呀。

Python2中貌似可以用分号分隔,我机器上没有装2.x没有试,亲测Python3下不可以。

正解如下:

1

2

3

4

5num1,num2,num3

=1,2,3

total =

num1 +

\

num2 +

\

num3

print(“total is : %d”%total)

Python空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

记住:空行也是程序代码的一部分。

以上这篇Python缩进和冒号详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125804.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 【OpenCV人脸识别入门教程之二】人脸检测

    【OpenCV人脸识别入门教程之二】人脸检测本篇文章主要介绍了如何使用OpenCV实现人脸检测的功能。要实现人脸识别功能,首先要进行人脸检测,判断出图片中人脸的位置,才能进行下一步的操作。人脸检测的方法介绍OpenCV中的方法函数参数含义代码实现

  • 共享计算机没有响应,网络共享打印机出现联机无反应的处理方法

    共享计算机没有响应,网络共享打印机出现联机无反应的处理方法网络共享打印机出现联机无反应、打印乱码及无法连接共享打印机的故障处理方法1、共享打印出现乱码倘若从局域网中某一台工作站中执行共享打印操作时,网络打印机能够正常工作;而从另外一台工作站中执行共享打印操作时,网络打印机打印出来的内容全部是乱码,遇到这种故障时你该如何快速排除呢?从上面的故障现象来看,大家可以知道共享打印机在硬件方面以及网络连接方面都应该是正常的,毕竟有计算机能够通过网络正常进行打印材料…

  • VS2008安装失败!Microsoft Visual Studio Web 创作组件

    VS2008安装失败!Microsoft Visual Studio Web 创作组件解决方案一:找到Office2007的安装文件第一步:因为除VisualStudio本身以外,VS安装过程中安装的其他附带安装的组件,基本上都是有单独安装包的。先找到VisualStudio

  • mysql操作命令梳理(4)-中文乱码问题

    mysql操作命令梳理(4)-中文乱码问题

  • JavaScript数组方法详解

    JavaScript数组方法详解JavaScript数组方法详解JavaScript中数组的方法种类众多,在ES3-ES7不同版本时期都有新方法;并且数组的方法还有原型方法和从object继承的方法,这里我们只介绍数组在每个版本中

  • tomcat宕机解决方法

    tomcat宕机解决方法最近项目出现tomcat宕机的情况,即项目运行一段时间后tomcat就会停止运行,解决方法步骤如下:首先进入linux服务器,使用命令top进行查看,发现tomcat的cpu利用率很高,超过100%接着,使用命令ps-ef|greptomcat,查找到对应的pid接着使用jmap-heappid.发现PermGen的利用率达到了99.99%,所以初步确定了问题是出在永久带内存

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号