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之list和str比较
Sep 20 Python
python实现去除下载电影和电视剧文件名中的多余字符的方法
Sep 23 Python
Python列表(list)、字典(dict)、字符串(string)基本操作小结
Nov 28 Python
Python生成随机密码
Mar 10 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
详解如何在python中读写和存储matlab的数据文件(*.mat)
Feb 24 Python
OpenCV 轮廓检测的实现方法
Jul 03 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
python中的TCP(传输控制协议)用法实例分析
Nov 15 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Python之Matplotlib文字与注释的使用方法
Jun 18 Python
Python Pandas常用函数方法总结
Jun 15 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
ajax 的post方法实例(带循环)
2011/07/04 PHP
PHP中使用crypt()实现用户身份验证的代码
2012/09/05 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
Javascript MD4
2006/12/20 Javascript
js CSS操作方法集合
2008/10/31 Javascript
javascript的onchange事件与jQuery的change()方法比较
2009/09/28 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
JavaScript DOM常用操作代码汇总
2020/07/03 Javascript
vue配置多代理服务接口地址操作
2020/09/08 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
Pytorch 实现自定义参数层的例子
2019/08/17 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
Python中内建模块collections如何使用
2020/05/27 Python
详解python 条件语句和while循环的实例代码
2020/12/28 Python
真正了解CSS3背景下的@font face规则
2017/05/04 HTML / CSS
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
医学护理毕业生自荐信
2013/11/07 职场文书
工程管理专业个人求职信范文
2013/12/07 职场文书
英文简历自荐信范文
2013/12/11 职场文书
考试退步检讨书
2014/01/15 职场文书
小学教师师德感言
2014/02/10 职场文书
端午节演讲稿
2014/05/23 职场文书
2014年高二班主任工作总结
2014/12/16 职场文书
学生自我评语
2015/01/04 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
2016重阳节红领巾广播稿
2015/12/18 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
Ruby处理CSV数据方法详解
2022/04/18 Ruby