V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chinesehuazhou
V2EX  ›  Python

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

  •  
  •   chinesehuazhou · 2022-12-14 07:45:19 +08:00 via Android · 4804 次点击
    这是一个创建于 715 天前的主题,其中的信息可能已经有所发展或是发生改变。
    分享一篇文章: https://github.com/chinesehuazhou/python-whydo/blob/master/zh_CN/27-the-origins-of-Python-indentation.md



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

    如果 get 不到, 就一定不是 python 的忠实用户



    至于复制丢格式, 百年不遇
    sakura6264
        24
    sakura6264  
       2022-12-15 14:55:48 +08:00
    从网上复制一段别人顶格写的 python 到自己的函数里简直噩梦
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1179 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.