Python 为什么使用缩进来划分代码块?

栏目: IT技术 · 发布时间: 4年前

内容简介:大家好,这是“Python为什么”系列节目的文字稿(本期话题:Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法?Python 的缩进是一个老生常谈的话题,经常有人提及它,比如

大家好,这是“Python为什么”系列节目的文字稿( 文末有观看地址 )。

本期话题:Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法?

Python 的缩进是一个老生常谈的话题,经常有人提及它,比如 Python 之父在上个月就恰好转发过一篇文章:

Python 为什么使用缩进来划分代码块?

因为这篇文章,Guido 还受邀在 Python Bytes 播客上录制了一期节目:

Python 为什么使用缩进来划分代码块?
Python 为什么使用缩进来划分代码块?

那么,Python 为什么要用缩进来划分代码块呢?

我收集梳理了几份材料,接下来将带大家一起揭晓 Python 这么做的设计原因:

Python 为什么使用缩进来划分代码块?
  1. 缩进语法,更加优雅

  2. 缩进语法,更加清晰

  3. 使用缩进,保持一致性,避免造成误读

  4. 使用缩进,代码更紧凑,便于浏览,没有累赘

  5. 使用缩进,已足够令解释器执行,没必要使用多余的符号

  6. 强制缩进,源自古老的 ABC 语言,Guido 是这门语言的设计者之一

  7. 其思想可能出自 Don Knuth(高德纳,著名计算机科学家,经典巨著《计算机程序设计艺术》的作者),他在 1974 年提出,在当时是很时髦和前卫的思想

  8. 使用缩进,可以终结大括号放在函数名后面还是再换一行的终极争论(据说此话题能令不同派系的 程序员 大打出手!)

以上罗列的原因主要来源于 Python 官方文档、官方 wiki 以及 Python 之父的早期访谈。

Python 为什么使用缩进来划分代码块?
Python 为什么使用缩进来划分代码块?

总而言之,Python 使用缩进语法,体现了它非常优雅、清晰的设计美学,对开发者、读者以及解释器,都极为友好。

实话说,我本人非常赞许 Python 的缩进,因此才第一眼就迷上了它,如果是使用了花括号之类的语法,那 Python 就顿时黯淡,也就食之无味了!

大家如何看待 Python 的缩进语法呢?请在后台发表你的看法吧!

参考材料:

1、Guido 发的 twitter: https://twitter.com/gvanrossum/status/1249549091584892928

2、Guido 转发的关于缩进的文章: https://web.archive.org/web/20070922223915/http://www.secnetix.de/~olli/Python/block_indentation.hawk

3、Guido 作客 Python Bytes 播客节目,谈论缩进话题: https://pythonbytes.fm/episodes/show/179/guido-van-rossum-drops-in-on-python-bytes

4、播客节目的视频版: https://www.youtube.com/watch?v=PlvvVXeU0yw&feature=youtu.be

5、官方文档对缩进的解释: https://docs.python.org/3/faq/design.html#why-does-python-use-indentation-for-grouping-of-statements

6、官方早期 wiki 的解释: https://wiki.python.org/moin/Why%20separate%20sections%20by%20indentation%20instead%20of%20by%20brackets%20or%20%27end%27

视频地址:

1、B站: https://www.bilibili.com/video/BV1UT4y137Yv

2、知乎: https://www.zhihu.com/zvideo/1242823762849959936


以上所述就是小编给大家介绍的《Python 为什么使用缩进来划分代码块?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Microformats

Microformats

John Allsopp / friends of ED / March 26, 2007 / $34.99

In this book, noted web developer and long time WaSP member John Allsop teaches all you need to know about the technology: what Microformats are currently available and how to use them; the general pr......一起来看看 《Microformats》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码