Python缩进和冒号详解

作者:jingxian 时间:2023-04-21 16:22:11 

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

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

例如:


if True:
 print("Hello girl!") #缩进一个tab的占位
else:            #与if对齐
 print("Hello boy!") #缩进一个tab的占位

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


if True:
 print("Hello girl!")
else:
 print("Hello boy!")
print("end")

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

Python缩进和冒号详解

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

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

例如:


# -*- 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")

运行结果:

Python缩进和冒号详解

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

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

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

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

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

Python多行语句

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


num1 = 1
num2 = 2
num3 = 3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)

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


days = ['Monday', 'Tuesday', 'Wednesday',
   'Thursday', 'Friday']
print(days)

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

Python缩进和冒号详解

 

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

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

Python缩进和冒号详解

正解如下:


num1,num2,num3 =1,2,3
total = num1 + \
num2 + \
num3
print("total is : %d"%total)

Python空行

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

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

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

标签:Python,缩进,冒号
0
投稿

猜你喜欢

  • Python numpy.interp的实例详解

    2023-01-21 07:07:06
  • python使用celery实现异步任务执行的例子

    2021-01-06 03:27:20
  • Python Counting Bloom Filter原理与实现详细介绍

    2021-04-04 19:01:54
  • pycharm使用正则表达式批量添加print括号完美从python2迁移到python3

    2021-11-06 15:30:35
  • Python中的变量与常量

    2022-01-14 22:26:43
  • 数据库技巧——MySQL十大优化技巧

    2011-01-31 16:44:00
  • Django的models模型的具体使用

    2022-08-13 07:57:04
  • python selenium自动上传有赞单号的操作方法

    2023-05-21 13:24:43
  • MySQL5.6下windows msi安装详细介绍

    2024-01-14 04:42:50
  • Python列表推导式与生成器用法分析

    2022-03-21 12:06:54
  • Python之os模块案例详解

    2021-06-18 15:09:38
  • python连接数据库的方法

    2024-01-25 18:21:06
  • Go json反序列化“null“的问题解决

    2024-02-18 22:54:19
  • python连接池实现示例程序

    2022-04-30 21:59:54
  • PHP VBS JS 函数 对照表

    2024-04-29 13:55:57
  • Vue中列表渲染指令v-for的基本用法详解

    2024-05-28 15:52:06
  • javabean servlet jsp实现分页功能代码解析

    2023-06-13 15:21:24
  • mysql 5.6.26 winx64安装配置图文教程(一)

    2024-01-14 21:44:59
  • Python使用os模块实现更高效地读写文件

    2021-08-11 00:41:39
  • 学会Python数据可视化必须尝试这7个库

    2022-03-26 20:37:25
  • asp之家 网络编程 m.aspxhome.com