返回信息流https://www.zhihu.com/question/39708973
这是一条镜像帖。来源:北邮人论坛 / python / #11915同步于 2016/1/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
python让多少人圆了程序员梦。。。
json123
2016/1/21镜像同步13 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
【 在 json123 的大作中提到: 】
: https://www.zhihu.com/question/39708973
2333,为他们公司祈祷
【 在 icybee 的大作中提到: 】
: 完了我也用tab,谁来为我祈祷。。。
set ts=4 sw=4 sts=4 et
然后就不用担心了。
但是使用tab会有什么危害么?
【 在 nuanyangyang 的大作中提到: 】
:
: set ts=4 sw=4 sts=4 et
: 然后就不用担心了。
【 在 icybee 的大作中提到: 】
: 但是使用tab会有什么危害么?
不同的软件对tab的大小解释得不一样。比如终端一般把tab解释成8个半角字符宽,而另外一些软件,比如visual studio等,默认把tab解释成4个半角字符宽。所以,如果用tab来对齐的话,不同的地方显示得不一样。还有一些软件无法输入tab字符。比如在浏览器里。
如果混用tab和空格,就更麻烦了。比如eclipse,默认把tab解释成8个半角字符的宽度,但默认缩进宽度是4。所以,如果只缩进4个半角字符,就用4个空格;如果是8个半角字符,就用1个tab。显然,这样的源代码,如果换用别的文本编辑器来编辑,看上去就完全不一样了。
对于Python这种用缩进来决定语义的语言,肯定希望让人看到的和机器看到的是一样的,而且程序必须是没有歧义的,到底把一个tab当4个空格还是8个空格,会影响语义的。所以,干脆统一用其中一种。要么全用tab,要么全用空格。
从美学的观点上看,如果假设终端一般是80列的(很老的设备了),代码一般也不要超过80列。这时候,如果用8个空格的缩进,那就太多了。随便缩进几次就20多列,很快代码就变得很挤。所以,4个空格的缩进是不错的选择。由于终端的tab是8列,所以只能用个空格了。我想这就是Python的4个空格的由来吧。
Ruby一般喜欢两个空格的缩进。xml似乎也是。