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在windows下创建隐藏窗口子进程的方法
Jun 04 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
Python3多线程基础知识点
Feb 19 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Pytorch中accuracy和loss的计算知识点总结
Sep 10 Python
感知器基础原理及python实现过程详解
Sep 30 Python
python使用HTMLTestRunner导出饼图分析报告的方法
Dec 30 Python
python使用turtle库绘制奥运五环
Feb 24 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
OpenCV-Python实现油画效果的实例
Jun 08 Python
python代码实现扫码关注公众号登录的实战
Nov 01 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&MYSQL留言板源码
2020/07/19 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
用jQuery实现检测浏览器及版本的脚本代码
2008/01/22 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
深入理解javascript中return的作用
2013/12/30 Javascript
node.js中的buffer.Buffer.isBuffer方法使用说明
2014/12/14 Javascript
判断浏览器的内核及版本号方法汇总
2015/01/05 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
JavaScript实现打字效果的方法
2015/07/10 Javascript
js实现创建删除html元素小结
2015/09/30 Javascript
JS获取一个未知DIV高度的方法
2016/08/09 Javascript
JavaScript 事件对内存和性能的影响
2017/01/22 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/26 Python
Python实现基于POS算法的区块链
2018/08/07 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
python 判断linux进程,并杀死进程的实现方法
2019/07/01 Python
使用turtle绘制五角星、分形树
2019/10/06 Python
python3.7通过thrift操作hbase的示例代码
2020/01/14 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
2020/03/10 Python
什么是python类属性
2020/06/10 Python
PyQT5 实现快捷键复制表格数据的方法示例
2020/06/19 Python
华为旗下电子商务平台:华为商城
2016/08/06 全球购物
Myprotein比利时官方网站:欧洲第一运动营养品牌
2020/10/04 全球购物
经济学博士求职自荐信范文
2013/11/23 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
暑期学习心得体会
2014/09/02 职场文书
企业催款函范本
2015/06/24 职场文书
CSS3鼠标悬浮过渡缩放效果
2021/04/17 HTML / CSS
Jedis操作Redis实现模拟验证码发送功能
2021/09/25 Redis