朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

Python会以行缩进检测块的边界,行缩进就是程序代码左侧的空白空间。缩进相同距离的所有语句属于同一块的代码。换句话说,块内的语句会垂直对齐,就好像在一栏之内。

下面示范了下列程序代码的块结构。

x = 1if x:y = 2if y:print('block2')print('block1')print('block0')

这段代码包含了三个模块:第一个(文件顶层代码)完全没有缩进,第二个(位于外层if语句内)则缩进四格,而第三个(位于嵌套if下的print语句)则缩进八格。

通常来说,顶层(无嵌套)代码必须于第1栏开始。缩进可以由任意的空格和制表符组成,只要特定的单个块中的所有语句都相同即可。也就是说,Python不在乎你怎么缩进代码,只在乎缩进是否一致。

如下的代码段展示了Python代码中的缩进错误:

x = 'SPAM'         # Error: first line indentedif 'rubbery' in 'shrubbery':print(x * 8)x += 'NI'      # Error: unexpected indentationif x.endswith('NI'):x *= 2print(x)  # Error: inconsistent indent

这段代码的正确的缩进版本如下所示:

x = 'SPAM'if 'rubbery' in 'shrubbery':print(x * 8)x += 'NI'if x.endswith('NI'):x *= 2print(x)   # Prints "SPAMNISPAMNI"

在Python中,空白的一种主要用途就是用于代码左侧作为缩进。在其他大多数环境中,可以在程序代码中加入空格或不加。缩进其实是Python语法中的一部分,而不仅仅是编程风格:任何特定单一块中的所有语句都必须缩进到相同的层次,否则Python会报告语法错误。这是有意而为之的,因为你不需明确标识嵌套代码块的开头和结尾,其他语言中常见的一些语法上的杂乱无章,在Python中是看不见的。

把缩进变成语法模型一部分,也强化了一致性,这是Python这种结构化编程语言中可读性的重要组成部分。Python的语法被描述成“所见即所得”——每行程序代码毫不含糊的缩进就告诉了读者它属于什么地方。这种一致的外观让Python程序更易于维护和重用。

要避免混合使用制表符和空格。尽管可以使用空格或制表符来缩进,在一段代码块中混合使用这两者就不好了。如果混合制表符和空格的话,代码也可以工作。但是,这样的代码很难修改。更糟糕的是,混合制表符和空格会使得代码难以阅读——制表符在另一个程序员的编辑器中看上去与在你的编辑器中的样子可能有很大不同。

python系列教程143——行缩进相关推荐

  1. 【Python】Python系列教程-- Python3 编程第一步(十八)

    文章目录 前言 打印字符串: 输出变量值: 定义变量并进行简单的数学运算 使用 for 循环打印数字 0 到 4: 根据条件输出不同的结果: end 关键字 前言 往期回顾: Python系列教程–P ...

  2. python系列教程145——布尔运算

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  3. python系列教程8

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  4. python系列教程14

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  5. python系列教程171——网页文档

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  6. python系列教程2

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  7. python系列教程91

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

  8. microbit python_刘鹏涛老师用Microbit 学Python系列教程

    本帖最后由 rzyzzxw 于 2018-4-5 11:33 编辑 刘鹏涛老师Microbit 学Python系列教程 经刘老师授权,刘老师订阅号刘鹏涛 捕获.PNG (6.22 KB, 下载次数: ...

  9. python系列教程83

    朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow 声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知 ...

最新文章

  1. vue 保留两位小数 不能直接用toFixed(2) ?
  2. 新浪微博登录密码加密函数 wsse加密算法说明
  3. CCAI 2017 | 德国DFKI科技总监Hans Uszkoreit:如何用机器学习和知识图谱来实现商业智能化? 原2017.07.25AI科技大本营 文/CSDN大琦 7 月22 - 2
  4. 在Tomcat中部署seam工程
  5. textarea限制字符数_PAT乙级-1002 写出这个数
  6. iPhone 15 Pro有望实现屏下面容识别 三星已在研发相关技术
  7. Java Java Java
  8. 159挑战 | 1:59:40,基普乔格打开人类新时代!
  9. XP---VS05---部署个人网站初学者工具包---方案
  10. python3使用requests和requests_toolbelt上传文件
  11. vba mysql 3706_Excel、VBA与MySQL交互
  12. mtk处理器和骁龙对比_联发科(MTK)智能手机处理器平台汇总(含基本参数对比)一览...
  13. 华为又出新品,谁知平板还能这么玩
  14. 每天新老用户,日活,周活,月活的hive计算
  15. 《人物动作:角色骨骼、蒙皮制作工艺》
  16. Linux学习 十二单元
  17. 江敏:做创业公司CTO,是程序员未知的冒险
  18. 英雄联盟手游注册及下载教程(ios及安卓android最新最全版)
  19. 2013.4.22每日一记
  20. web期末作业网页设计——JavaScript

热门文章

  1. lightroom最新版本下载_Lightroom CC 2019|Lightroom CC 2019 正式版下载_太平洋下载中心...
  2. 苹果浏览器显示打不开改网页无法连接服务器,为什么苹果浏览器老是显示safari打不开该网页答案...
  3. python 小说词频统计_Python中文分词及词频统计
  4. 关于任天堂,你不了解的9件事
  5. BPM是什么意思?BPM的优势及好处有哪些?
  6. 成为高级程序员的10个步骤
  7. Java项目:基于jsp+mysql+Spring+SpringMVC+mybatis的农产品网上销售系统
  8. 锁定计算机屏幕的快捷键是什么,计算机屏幕锁定的快捷键是什么? -计算机
  9. Easy Excel使用说明
  10. ISP——Gamma Correction