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 为什么使用缩进来划分代码块?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

有限与无限的游戏

有限与无限的游戏

[美]詹姆斯·卡斯 / 马小悟、余倩 / 电子工业出版社 / 2013-10 / 35.00元

在这本书中,詹姆斯·卡斯向我们展示了世界上两种类型的「游戏」:「有限的游戏」和「无限的游戏」。 有限的游戏,其目的在于赢得胜利;无限的游戏,却旨在让游戏永远进行下去。有限的游戏在边界内玩,无限的游戏玩的就是边界。有限的游戏具有一个确定的开始和结束,拥有特定的赢家,规则的存在就是为了保证游戏会结束。无限的游戏既没有确定的开始和结束,也没有赢家,它的目的在于将更多的人带入到游戏本身中来,从而延续......一起来看看 《有限与无限的游戏》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具