Python 为啥用缩进语法,听听Python之父的说的啥。。。

懒人居:基于Pyodide的零配置Python在线编程环境 在线Python编程环境是一种无需本地安装、浏览器即开即用的轻量级开发体验,其核心原理是利用WebAssembly(如Pyodide)将CPython解释器移植至前端,在客户端完成代码解析与执行。这种技术显著降低学习门槛与环境配置成本,具备即时反馈、隐私安全、跨平台一致等技术价值,广泛应用于编程教学、算法验证、数据可视化原型开发及技术文档交互示例等场景。本文介绍的‘懒人居’正是这一范式的典型实践,深度融合Pyodide运行时与生活化交互设计,让Python编程回归探索本质。 阅读详情

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

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

因为这篇文章,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: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%20ps%20by%20indentation%20instead%20of%20by%20brackets%20or%20%27end%27

7、池建强老师 MacTalk 文章:https://mp.weixin.qq.com/s?__biz=MjM5ODQ2MDIyMA==&mid=2650715803&idx=1&sn=94cd823de3689f40d4ed4c541a1ee791

近期十大热门:
我总结的80页《菜鸟学Python精选干货.pdf》,都是干货
笑喷了,我用Python帮韦小宝选最佳老婆组合
用Python一键生成炫酷九宫格图片,火了朋友圈

菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记

Github获8300星!用Python开发的一个命令行的网易云音乐

一道Python面试题,硬是没憋出来,最后憋出一身汗!
Python高手进阶|实战4大并发秘籍

让你纵横 GitHub 的五大神器

值得收藏!8大技巧,带你了解菜鸟和高手的区别!

卧槽!Pdf转Word用Python轻松搞定!

由菜鸟学Python原班人马打造的公众号【程序员GitHub】,专注于分享GitHub上有趣的资源包括,Python,Java,Go语言前端学习等优质的学习资源,爆料程序员圈的新鲜趣事,热门干货,职场感悟,感兴趣的小伙伴可以来捧场!



点这里,进菜鸟学PythonB站大本营
【异常】claude : 无法将“claude”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 如果claude方式1(临时):使用完整路径运行,比如:# Windows 批处理脚本示例 C:\你的脚本目录\claude . bat # PowerShell 脚本示例 C:\你的脚本目录\claude . ps1方式2(永久):将脚本所在文件夹添加到系统 PATH 环境变量(参考场景1的环境变量配置步骤),之后即可直接输入claude运行。错误核心原因:系统 PATH 环境变量中找不到claude对应的可执行文件/脚本。 阅读详情

相关推荐

STM32CubeMX定时器进阶玩法:用编码器模式实现电机转速测量(附避坑清单)

本文详细介绍了如何使用STM32CubeMX配置定时器的编码器模式实现电机转速测量,包括硬件连接、CubeMX配置关键步骤、转速计算算法及常见问题解决方案。特别针对工业控制和机器人开发中的高精度需求,提供了实用的避坑清单和优化技巧,帮助开发者高效完成项目。

joy55的博客 203

Python使用强制缩进算不算一个败笔

**我第一次接触的Python的时候,发现代码块之间竟然是用缩进来区分的,一时间还难以适应。** 不过写了几十行代码后很快就适应了,还觉得用缩进有那么点独特性 因为强制缩进的话,代码写完后天然地就是排版好的。不需要刻意做格式化处理。我记得刚开始写python代码用的是vim。 用的vim的都是知道,学习曲线非常陡,想打造出一个IDE,需要花很多精力。而用来写python就很适合了,写完之后,代码非常工整。 P被问到为什么要强制缩进时,Python之父,Guido van Rossum当时是这么说的:

m0_59162248的博客 793

自制非接触式静电探测仪:从振动电容原理到微弱信号检测实践

微弱信号检测是电子测量领域的核心挑战之一,尤其在需要避免物理接触或防止干扰的场景中。其基本原理在于将难以直接获取的微小物理量(如电流、电压)通过传感器转换为电信号,再经过放大、滤波等处理进行提取。锁相放大技术是解决这一问题的关键手段,它利用参考信号与目标信号的同步性,从强噪声背景中恢复出有效信息,极大提升了信噪比和测量灵敏度。这项技术的工程价值在于实现了对纳安级电流、微伏级电压等高难度参数的可靠测量。在静电防护、材料表面电位分析、生物电信号采集等应用场景中,非接触式测量需求广泛。本文聚焦的基于振动电容原理的

weixin_32349093的博客 274

Python 学习笔记之缩进和选择

缩进Python最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。先看C语言的表达方式(注意,这是C,不是Python!)if(i>0) { x=1; y=2; }如果i > 0的话,我们将进行括号中所包括的两个赋值操作。括号中包含的就是块操作,它隶属于...

weixin_34290352的博客 329

常学常新:《Attention Is All You Need》万字解读!

常学常新:《Attention Is All You Need》万字解读!

hunteritself的博客 3649

VL53L0X加盖玻片后精度暴跌?手把手教你完成串扰校准(CrossTalk Calibration)

本文详细解析了VL53L0X激光测距传感器加盖玻片后精度下降的原因,并提供了串扰校准(CrossTalk Calibration)的完整解决方案。通过分步指导和实用代码示例,帮助工程师恢复毫米级测距精度,适用于智能门锁、扫地机器人等应用场景。

weixin_33708432的博客 539

关于python代码中缩进的详解

python中的缩进是很严格的,python中用缩进来代表不同层级的代码块,同一层级的代码要对齐。那么什么是层级?什么是代码块?下面就用代码示例给大家详细的介绍一下。 # 循环中的缩进 sum_num = 0 for i in range(1, 101): sum_num += i print(sum_num) 上面这段代码实现的功能是1-100的整数相加,每相加一次就输出一次结果。 在上面这段代码中,sum_num和for循环在同一层级,所以sum_num和for循环是对齐的。for循环

FlatTiger的博客 5289

树上柑橘检测实战:自制数据集与YOLO训练全流程复盘

目标检测模型的性能上限往往由训练数据决定,尤其在农业视觉这样的复杂场景中,公开数据集与真实环境的差异常导致模型漏检、误检频发。高质量的标注数据是模型泛化的基础,从采集、清洗到统一标注规范,每一步都直接影响最终效果。对于检测任务而言,VOC与YOLO两种主流标注格式的转换是工程落地的常见环节,理解坐标归一化原理并做好校验,能有效避免训练事故。在模型训练阶段,合理划分数据集、谨慎选择数据增强策略,并结合切片推理解决小目标漏检,是果园场景下提升精度的关键。这套基于2511张果树图像的单类别检测流程,不仅支撑了柑橘

weixin_29057163的博客 231

python缩进错误-python缩进错误的原因是什么

要求严格的代码缩进是python语法的一大特色,就像C语言家族(C、C++、Java、C#等等)中的花括号一样重要,在大多数场合还有必要。在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代码缩进,但是这些要求只是纯粹是方便人(程序员)来阅读、使用或修改的,对于编译器或者解释器而言,完全是视而不见的。但是对Python解释器而言,每行代码前的缩进都有语法和逻辑上的意义。Python的这个...

weixin_37988176的博客 1882

ESD防护设计宝典(十一):CE(传导发射)超标问题排查与解决

(Conducted Emission, CE),亦称为传导骚扰,是电子电气设备或系统内部的电压、电流通过信号线、电源线或地线向外传输,对其他电子电气设备或系统造成电磁干扰的物理现象。其。

m0_56451176的博客 856

智能筛选栏 SmartFilterBar 全面解析与实战指南

SmartFilterBar 把复杂的检索界面“模板化”,让开发者聚焦业务逻辑与后端数据质量,而非 UI 小细节。通过精准运用 CDS 注解与 OData 元数据,它能在几毫秒内拼装出专业级筛选体验;结合事件钩子与控制配置,又足以满足极端个性化需求。拥抱 SmartFilterBar,意味着在 Fiori 生态中以最少代码赢得最快价值交付——这正是现代企业应用开发追求的极致效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 404

python缩进格式作用_python为什么要缩进控制

python为什么要缩进控制,代码,编程语言,括号,空白,错误python为什么要缩进控制易采站长站,站长之家为您整理了python为什么要缩进控制的相关内容。为什么python对缩进要求这么高?缩进不对就很容易报错!(推荐学习:Python视频教程)因为,Python用缩进代替了其他编程语言的begin 和 and,Python中的缩进(Indentation)决定了代码的作用域范围。取决于它的...

weixin_39880318的博客 556

【文献笔记】CVPR 2023|Attention-Based Point Cloud Edge Sampling

优点能够有效采出点云数据的边缘点分类任务性能优越不足没有设计出一个更好的上采样方法,导致分割任务的性能略低只考虑了边缘特征,没有利用其他几何特征。

m0_55908255的博客 319

html 缩进_Python 为啥用缩进语法,听听Python之父的说的啥。。。

Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法?Python 的缩进是一个老生常谈的话题,经常有人提及它,比如Python 之父在4月份就恰好转发过一篇文章:因为这篇文章,Guido 还受邀在 Python Bytes 播客上录制了一期节目:那么,Python 为什么要用缩进来划分代码块呢?我收集梳理了几份材料,接下来将带大家一起揭...

weixin_39588252的博客 151

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

python代码缩进是一种语法吗_Python 为啥用缩进语法,听听Python之父的说的啥

Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法?Python 的缩进是一个老生常谈的话题,经常有人提及它,比如Python 之父在4月份就恰好转发过一篇文章:因为这篇文章,Guido 还受邀在 Python Bytes 播客上录制了一期节目:那么,Python 为什么要用缩进来划分代码块呢?我收集梳理了几份材料,接下来将带大家一起揭晓 Pyt...

weixin_39661881的博客 326

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

python的缩进意义_Python 为啥用缩进语法,听听Python之父的说的啥

Python 为什么使用缩进来划分代码块,而不像其它语言使用花括号 {} 或者 “end” 之类的语法?Python 的缩进是一个老生常谈的话题,经常有人提及它,比如Python 之父在4月份就恰好转发过一篇文章:因为这篇文章,Guido 还受邀在 Python Bytes 播客上录制了一期节目:那么,Python 为什么要用缩进来划分代码块呢?我收集梳理了几份材料,接下来将带大家一起揭晓 Pyt...

weixin_39616855的博客 165

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python 代码中的缩进规则(史上最全最详细解释)

python 代码中的缩进规则(史上最全最详细解释)

逆境清醒的博客 1万+

Qwen3-TTS多语种语音生成:支持代码片段朗读(含Python/JS语法停顿)

本文介绍了如何在星图GPU平台上自动化部署Qwen3-TTS-12Hz-1.7B-CustomVoice镜像,该模型具备多语种语音生成能力,并特别支持智能朗读Python、JavaScript等代码片段,能在语法关键处自动停顿。该功能可广泛应用于技术文档语音化、编程教学等场景,显著提升技术内容的听觉体验与学习效率。

weixin_42596246的博客 329

python系列之起源(什么是python)

python之父 我总是认为学习一样新事物的最好方法就是听故事,那么就来听听python和他的父亲的故事. python起源 Python 的创始人为吉多·范罗苏姆(Guido van Rossum) (图片来至百度) Python的作者,Guido von Rossum,荷兰人。1982年,Guido从阿姆斯特丹大学获得了数学和计算机硕士学位。然而,尽管他算得上是一位数学家,但他更加享受...

汪云辉的博客 593

什么是 Python

用于 Web 的 Python 应用程序通常建立在两个主要平台上,即 Flask 和 Django。Flask 对初学者来说更简单,更干净,也更容易。Django 具有更多的功能,可以扩展到大量用户。如果你来自 JavaScript 背景,Flask 是 Django 的 Express 是 Nest 的。更具体地说, Flask 是一个“微观框架”。它比你普通的模板填充工具小得多。它不需要外部库或组件,并且完全基于 vanilla Python 构建。但是,您可以轻松地混合使用第三方工具以提高效率。

柚橙论 1594

编程语言-什么是 Python?

更具体地说, Flask 是一个“微观框架”。它比你普通的模板填充工具小得多。它不需要外部库或组件,并且完全基于 vanilla Python 构建。但是,您可以轻松地混合使用第三方工具以提高效率。Flask 专为快速应用程序开发而设计。它非常适合在像 Django 这样的更大框架中更全面地实现新想法的原型设计。Python 最流行的 Web 框架 Django 如何流行?社交媒体巨头 Instagram 在 Django 上扩展到了一百万用户。

xuxian的博客 1030

python学生成绩不及格良好类_Python3学习–控制语句

释放双眼,带上耳机,听听看~!控制语句即用来实现对程序流程的选择、循环、转向和返回等进行控制。C语言中共有9种控制语句,包括32个关键字,可以分为"选择语句“,”循环语句“,”转向语句“,”返回语句“四类。Python3学习–控制语句选择结构选择结构通过判断条件是否成立,来决定执行哪个分支。选择结构有多种形式,分为:单分支、双分支、多分支。流程图如下:单分支选择结构if 语句单分支结构的语法形式如...

weixin_39646725的博客 1221

为什么现在普通人都去学python?

最近无论是刷抖音还是逛微博还是朋友圈,都是Python的广告,这个真的很厉害值得一学吗?为什么现在的普通人要是想学习一门技术、在职的工作人员想转行,一些就业人员想要提升技能都会选择去学习python呢? 经过我的深思熟虑以后,终于找到了他们为什么都会选择去学习python,以此我总结了以下几点: 1. 简单、易学 2. 免费、开源 3. 解析性:(可以直接从源代码运行程序)python解析器把源代码转换成字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行,所以python程序也更易于移植。

wwwhhh322的博客 348

Python程序员开发中常犯的10个错误

@本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录1.滥用表达式作为函数参数默认值2.错误地使用类变量3.为异常指定不正确的参数4.误解Python规则范围5.修改遍历列表6.如何在闭包中绑定变量7.创建循环模块依赖关系8.与Python标准库模块名称冲突9.未按规定处理Python2.x和Python3.x之间的区别10.滥用__del__方法 Python是一门简单易学的编程语言,语法简洁而清晰,并且拥有丰富和强大的类库。与其它大多数程序设计语言使用大括号不一样 ,它使用缩进

python基础学习教程 2484

Python语句学习第一阶段day03

语句 行 物理行:程序员编写代码的行。 逻辑行:python解释器需要执行的指令。 建议一个逻辑行在一个物理行上。 如果一个物理行中使用多个逻辑行,需要使用分号;隔开。 如果逻辑行过长,可以使用隐式换行或显式换行。 隐式换行:所有括号的内容换行,称为隐式换行 括号包括: () [] {} 三种 显式换行:通过折行符 \ (反斜杠)换行,必须放在一行的末尾,目的是告诉...

Guoh9y1的博客 422

Jupyter快捷键实战指南:从鼠标依赖到肌肉记忆

Jupyter Notebook作为数据科学核心交互式开发环境,其双模架构(命令模式/编辑模式)决定了高效工作的底层逻辑。理解这一设计原理,是突破‘点鼠标’低效工作流的关键。通过将快捷键与真实场景强绑定——如结构编排、内容编辑、执行控制和环境协同——可显著降低认知负荷,提升Notebook效率与数据科学工作流连贯性。本文聚焦Jupyter快捷键的工程化落地,覆盖模式切换、单元格管理、代码调试、多窗口协同等高频任务,帮助用户建立稳定可靠的键盘操作直觉,真正实现交互式开发的思维延伸。

weixin_34353714的博客 344
上一篇: 卧槽,神操作!一句查询让Python帮忙自己写程序
下一篇: 2020 年 7 月编程语言排行榜,Python稳坐前三
菜鸟学Python
博客等级 码龄9年 8062粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值