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中的readline()方法的使用
May 24 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
Python算法输出1-9数组形成的结果为100的所有运算式
Nov 03 Python
对Python 文件夹遍历和文件查找的实例讲解
Apr 26 Python
python实现决策树分类
Aug 30 Python
Python实现分段线性插值
Dec 17 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python通过paramiko复制远程文件及文件目录到本地
Apr 30 Python
详解pandas中MultiIndex和对象实际索引不一致问题
Jul 23 Python
Cython编译python为so 代码加密示例
Dec 23 Python
Python telnet登陆功能实现代码
Apr 16 Python
Python 发送邮件方法总结
Aug 10 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP引用符&的用法详细解析
2013/08/22 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
PHP 搜索查询功能实现
2016/11/29 PHP
php 微信开发获取用户信息如何实现
2016/12/13 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
Yii2结合Workerman的websocket示例详解
2018/09/10 PHP
php把文件设置为插件的技巧方法
2020/02/03 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
关于Javascript中defer和async的区别总结
2016/09/20 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
vue通信方式EventBus的实现代码详解
2019/06/10 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
使用python实现正则匹配检索远端FTP目录下的文件
2015/03/25 Python
python中利用队列asyncio.Queue进行通讯详解
2017/09/10 Python
python协程之动态添加任务的方法
2019/02/19 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
Python接口测试文件上传实例解析
2020/05/22 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
python 发送get请求接口详解
2020/11/17 Python
浅析HTML5页面元素及属性
2021/01/20 HTML / CSS
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
Java程序员面试题
2013/07/15 面试题
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
向女朋友道歉的话
2015/01/20 职场文书
社区三八妇女节活动总结
2015/02/06 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
电影红河谷观后感
2015/06/11 职场文书
创业的9条正确思考方式
2019/08/26 职场文书