Python 为什么抛弃累赘的花括号,使用缩进来划分代码块?

简介: Python 为什么抛弃累赘的花括号,使用缩进来划分代码块?

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

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

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

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

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

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

  1. 缩进语法,更加优雅
  2. 缩进语法,更加清晰
  3. 使用缩进,保持一致性,避免造成误读
  4. 使用缩进,代码更紧凑,便于浏览,没有累赘
  5. 使用缩进,已足够令解释器执行,没必要使用多余的符号
  6. 强制缩进,源自古老的 ABC 语言,Guido 是这门语言的设计者之一
  7. 其思想可能出自 Don Knuth(高德纳,著名计算机科学家,经典巨著《计算机程序设计艺术》的作者),他在 1974 年提出,在当时是很时髦和前卫的思想
  8. 使用缩进,可以终结大括号放在函数名后面还是再换一行的终极争论(据说此话题能令不同派系的程序员大打出手!)

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

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

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

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

参考材料:

1、Guido 发的 twitter:twitter.com/gvanrossum/…

2、Guido 转发的关于缩进的文章:web.archive.org/web/2007092…

3、Guido 作客 Python Bytes 播客节目,谈论缩进话题:pythonbytes.fm/episodes/sh…

4、播客节目的视频版:www.youtube.com/watch?v=Plv…

5、官方文档对缩进的解释:docs.python.org/3/faq/desig…

6、官方早期 wiki 的解释:wiki.python.org/moin/Why%20…

7、池建强老师 MacTalk 文章:mp.weixin.qq.com/s?__biz=MjM…

首发地址:mp.weixin.qq.com/s/byhJnKoKS…

视频地址:

1、B站:www.bilibili.com/video/BV1UT…

2、知乎:www.zhihu.com/zvideo/1242…

目录
相关文章
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
64 18
|
7月前
|
语音技术 数据安全/隐私保护 Python
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else
语音识别---数据输入(input语句),布尔类型和比较运算符,if语句的基本格式,Python通过空格缩进来判断代码块的归属关系,我要买票吗讲解?if_elif_else
|
Python
python中类的继承和类代码块
python中类的继承和类代码块
|
数据采集 开发工具 Python
Python爬虫实战:1000图库大全【别轻易点进来】
Python爬虫实战:1000图库大全【别轻易点进来】
289 0
|
JSON API Go
给Python初学者的最好练手项目,进来看就对了!
有很多朋友问我学习了Python后,有没有什么好的项目可以练手。 其实,做项目主要还是根据需求来的。但是对于一个初学者来说,很多复杂的项目没办法独立完成,因此博主挑选了一个非常适合初学者的项目,内容不是很复杂,但是非常有趣,我相信对于初学者小白来说是再好不过的项目了。
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码

热门文章

最新文章

推荐镜像

更多