Python 之父的导师聊 Python 的起源,以及缩进语法那古老而前卫的设计思想

2022-12-14 07:45:19 +08:00
 chinesehuazhou
分享一篇文章: https://github.com/chinesehuazhou/python-whydo/blob/master/zh_CN/27-the-origins-of-Python-indentation.md



如果你喜欢的话,请给 repo 赞赏一颗小星星吧喵~~
4830 次点击
所在节点    Python
24 条回复
xuanbg
2022-12-14 08:03:48 +08:00
仅用缩进区分代码块在写的时候没啥问题,运行自如也没什么问题。但及其不利于从非 IDE 中复制代码,鬼知道你复制的代码缩进还对不对。
Rehtt
2022-12-14 08:21:36 +08:00
在 1965 提出到 1980 的落地实现,缩进确实是一大创新和进步。但随着 1989 以后的万维网再到后面的互联网,缩进的缺点就显现出来了,比如传输的数据大小以及传输时出现的格式混乱,这些都比{}这种有明确边界的代码难处理
chinesehuazhou
2022-12-14 08:29:56 +08:00
@Rehtt 传输时会出现格式混乱?这是怎么回事?
ox180
2022-12-14 08:38:56 +08:00
年年黑 python ,年年都缩进
yolee599
2022-12-14 09:05:09 +08:00
空格,缩进,换行,这种容易混淆的符号就不适合用于语句分隔
makelove
2022-12-14 09:45:40 +08:00
我在写 py 时不觉得缩进不好,但现在用久了 js 又觉得缩进不爽容易出错,且根本没好处啊,就为少打个{
有时在编辑器不小心缩错了都一下看不出来但逻辑全变了
justdoit123
2022-12-14 10:13:30 +08:00
用 vim 快捷键的我,每次不能用 vi{ 快速选中整个函数,表示很痛苦。python 未来能不能兼容花括号?
bbxiong
2022-12-14 14:39:20 +08:00
不喜欢语法缩进,还是喜欢 js 这种大括号语法
vision1900
2022-12-14 14:47:02 +08:00
严格缩进对于 parser/interpreter 来说没差,对于人类来说确实增强了可读性,但也容易出错。Python 之父本人也被称为 [Benevolent Dictator (仁慈的独裁者)]( https://en.wikipedia.org/wiki/Benevolent_dictator_for_life)
DOLLOR
2022-12-14 15:18:57 +08:00
@chinesehuazhou
比如你在 v2 上贴 python 代码,缩进全给你干掉了。
不仅 v2 ,基本上所有网上留言板都默认干掉缩进。
chengs
2022-12-14 17:51:21 +08:00
王垠说的好:layout 不该是语法的一部分。
chinesehuazhou
2022-12-14 17:56:14 +08:00
@chengs 这个观点有出处么?我去学习下
chinesehuazhou
2022-12-14 18:04:28 +08:00
@DOLLOR 这种情况下,其它语言的代码也有问题了
summer2019
2022-12-14 18:09:14 +08:00
@chinesehuazhou 其他语言用花括号区分,撑死了可读性不好,但还是能跑,python 连基本的运行都做不到
chinesehuazhou
2022-12-14 18:22:24 +08:00
@summer2019 这种情况下,该追究拷贝代码的人和留言板,能否运行有啥意义。。。一段乱七八糟的代码,就算能运行,也不可取啊
qsmd42
2022-12-14 18:29:42 +08:00
<amp-youtube data-videoid="GQf25_9NOts" layout="responsive" width="480" height="270"></amp-youtube>
pkoukk
2022-12-14 18:32:43 +08:00
@chinesehuazhou 用大括号的语言,乱七八糟的代码丢进 IDE 格式化一下就能恢复原来的可读性并且正确运行,python 不行
lambdaq
2022-12-14 18:35:41 +08:00
这么多喷缩进的。。。。用 end 标识结束的语言不敢说话。。。。
qixinwuchen
2022-12-15 00:13:22 +08:00
@qsmd42 字幕呢 完全听不懂 我需要字幕 哪怕是英文字幕也可
zhlxsh
2022-12-15 00:51:39 +08:00
从 ide 复制 try 语句到 py 解释器会报错🤣python 2.7 会多加四个空格

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX