Python缩进和冒号详解


Posted in Python onJune 01, 2016

对于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缩进和冒号详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 元组(Tuple)操作详解
Mar 11 Python
Python文件和目录操作详解
Feb 08 Python
安装Python的web.py框架并从hello world开始编程
Apr 25 Python
Python3.2中Print函数用法实例详解
May 19 Python
Python中super()函数简介及用法分享
Jul 11 Python
Python内置函数OCT详解
Nov 09 Python
Python实现中一次读取多个值的方法
Apr 22 Python
Random 在 Python 中的使用方法
Aug 09 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
将pymysql获取到的数据类型是tuple转化为pandas方式
May 15 Python
Django多数据库联用实现方法解析
Nov 12 Python
使用pytorch实现线性回归
Apr 11 Python
Python注释详解
Jun 01 #Python
深入理解python try异常处理机制
Jun 01 #Python
python学习 流程控制语句详解
Jun 01 #Python
python+Django+apache的配置方法详解
Jun 01 #Python
python中函数默认值使用注意点详解
Jun 01 #Python
Python中基础的socket编程实战攻略
Jun 01 #Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 #Python
You might like
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
PHP ajax+jQuery 实现批量删除功能实例代码小结
2018/12/06 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
强大的JavaScript响应式图表Chartist.js的使用
2017/09/13 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
2018/06/01 Javascript
JavaScript 变量,数据类型基础实例详解【变量、字符串、数组、对象等】
2020/01/04 Javascript
原生javascript如何实现共享onload事件
2020/07/03 Javascript
vue element-ui中table合计指定列求和实例
2020/11/02 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
[01:20:06]TNC vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[05:53]敌法师的金色冠名ID"BurNIng",是传说,是荣耀
2020/07/11 DOTA
python根据出生日期获得年龄的方法
2015/03/31 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
pycharm中使用request和Pytest进行接口测试的方法
2020/07/31 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
使用CSS3的ruby-position固定注音位置的用法示例
2016/07/05 HTML / CSS
高一政治教学反思
2014/01/28 职场文书
办公设备采购方案
2014/03/16 职场文书
学习保证书范文
2014/04/30 职场文书
群教个人对照检查材料
2014/08/20 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers