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中实现三目运算的方法
Jun 21 Python
Python访问纯真IP数据库脚本分享
Jun 29 Python
小议Python中自定义函数的可变参数的使用及注意点
Jun 21 Python
判断网页编码的方法python版
Aug 12 Python
python中defaultdict的用法详解
Jun 07 Python
django2用iframe标签完成网页内嵌播放b站视频功能
Jun 20 Python
10个Python面试常问的问题(小结)
Nov 20 Python
python将时分秒转换成秒的实例
Dec 07 Python
Pyinstaller 打包发布经验总结
Jun 02 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
Python字符串对齐、删除字符串不需要的内容以及格式化打印字符
Jan 23 Python
Python按顺序遍历并读取文件夹中文件
Apr 29 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
Zend Guard一些常见问题解答
2008/09/11 PHP
解析php中用PHPMailer来发送邮件的示例(126.com的例子)
2013/06/24 PHP
php中利用str_pad函数生成数字递增形式的产品编号
2013/09/30 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
Laravel 5框架学习之数据库迁移(Migrations)
2015/04/08 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
文本域中换行符的替换示例
2014/03/04 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
nodejs教程之入门
2014/11/21 NodeJs
javascript Array 数组常用方法
2015/04/05 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
jquery ajaxfileupload异步上传插件使用详解
2017/02/08 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
ionic4+angular7+cordova上传图片功能的实例代码
2019/06/19 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
2020/07/29 Javascript
Python中的进程分支fork和exec详解
2015/04/11 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python单元测试工具doctest和unittest使用解析
2019/09/02 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
旅游管理专业学生求职信
2013/09/28 职场文书
物业管理应届生求职信
2013/10/28 职场文书
倡议书格式范文
2014/04/14 职场文书
简历中自我评价范文
2015/03/11 职场文书
祝寿主持词
2015/07/02 职场文书
三八红旗手先进事迹材料(2016推荐版)
2016/02/25 职场文书
2019求职信:应届生求职信范文
2019/04/24 职场文书
MySQL分区路径子分区再分区
2022/04/13 MySQL