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基于twisted实现简单的web服务器
Sep 29 Python
进一步理解Python中的函数编程
Apr 13 Python
python中黄金分割法实现方法
May 06 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
通过Python 接口使用OpenCV的方法
Apr 02 Python
OpenCV+Python识别车牌和字符分割的实现
Jan 31 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
python实现自动清理重复文件
Aug 24 Python
详解python变量与数据类型
Aug 25 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
Oct 12 Python
python 使用cycle构造无限循环迭代器
Dec 02 Python
python迷宫问题深度优先遍历实例
Jun 20 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
多文件上传的例子
2006/10/09 PHP
php学习 函数 课件
2008/06/15 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
学习PHP session的传递方式
2016/06/15 PHP
php自定义函数br2nl实现将html中br换行符转换为文本输入中换行符的方法【与函数nl2br功能相反】
2017/02/17 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
html读出文本文件内容
2007/01/22 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
2009/12/19 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
2017/06/02 jQuery
微信小程序日历组件calendar详解及实例
2017/06/08 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
vue实现菜单切换功能
2019/05/08 Javascript
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Numpy中对向量、矩阵的使用详解
2019/10/29 Python
python正则表达式实例代码
2020/03/03 Python
Python基于DB-API操作MySQL数据库过程解析
2020/04/23 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
阿玛尼意大利官网:Armani意大利
2018/10/30 全球购物
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
UNIX文件类型
2013/08/29 面试题
基层党组织建设整改方案
2014/09/16 职场文书
装配出错检讨书
2014/09/23 职场文书
纪委书记群众路线整改措施思想汇报
2014/10/09 职场文书
个人总结格式范文
2015/03/09 职场文书
Oracle设置DB、监听和EM开机启动的方法
2021/04/25 Oracle
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
实现GO语言对数组切片去重
2022/04/20 Golang