不想被 python 的缩进给束缚,
看到有 python 的一些格式的插件,目前有解决方案吗? 拿 { } 来搞代码段结构
1
xiaoyanbot OP |
2
xiaoyanbot OP from __future__ import braces
|
3
ipwx 2017-12-30 19:06:52 +08:00
我觉得尊重一个语言和社区的传统是美德。
Python 就该用缩进,不为什么,只是因为所有库都这么干了。 |
4
jingniao 2017-12-30 19:10:55 +08:00 via Android
我现在有点不习惯大括号了😎
|
5
guog 2017-12-30 19:14:55 +08:00 via Android
实话说,其他语言难道不用缩进了吗?排版整齐不仅仅为了保证语法正确,更多的是为了人读着方便吧。
|
6
likuku 2017-12-30 19:21:40 +08:00
那就去用 golang 吧,写起来几乎就是个带 {} 的 python
|
7
xiaoyanbot OP |
8
xiaoyanbot OP |
9
congeec 2017-12-30 19:44:18 +08:00 via iPhone
|
10
xujif 2017-12-30 19:52:49 +08:00 via iPhone
不然试试 typescript
|
11
likuku 2017-12-30 20:04:27 +08:00
@congeec [长长的 chaining methods] 那么可以认为那段代码需要优化 /重构了。80 列一行哦 (敲黑板)~
|
14
Kilerd 2017-12-30 21:22:43 +08:00
就算是 python with braces,你也需要用缩进来格式化你的代码。不然你这样是找不到工作的。
|
15
recall704 2017-12-30 21:36:53 +08:00 1
哈哈,我刚学 python 的时候特别讨厌没有花括号,特别讨厌 tab 和 空格不一样。
后来,后来我就习惯了。 |
17
20015jjw 2017-12-31 02:35:43 +08:00 via Android
还是要缩进啊
lz 你不知道每行不能超过 x 个字符么 |
18
shadowwalker2644 2017-12-31 03:52:14 +08:00 via Android
我觉得楼主可能需要学会怎么重构代码
|
19
PythonAnswer 2017-12-31 08:25:04 +08:00 via Android
写 js 吧,自由很多,风格自己定。
|
21
selfAccomplish 2017-12-31 10:20:42 +08:00
难道老铁们不知道 Pycharm 按 ctrl+alt+L 可以自动格式化(换行、80 个字符自动换行等)?
|
22
QAPTEAWH 2017-12-31 11:19:11 +08:00 via iPhone
)))))))))))))))))
|
23
zhicheng 2017-12-31 13:55:44 +08:00
不如试试 Lemon http://www.lemon-lang.org/ 。
|
24
guog 2017-12-31 14:13:39 +08:00 via Android
@zsdroid 你理解错了我的话。再说下,其他语言只是不用缩进来做语义分析,你写代码是给人看的,用了分号和大括号就能挤在一起写了吗?就能上行缩进俩字符,下行 tab 吗?反正都要缩进,何不整的统一点,看的也舒服些。
|
25
xpresslink 2017-12-31 14:44:01 +08:00 3
其实自己写 Python 代码和维护的时候,强制缩是有好处的。
只是在交流沟通时会有一些障碍,因为很多论坛和在线编辑器会清除前导空格, 这对于 Python 代码会造成非常大的理解困难。 有了{}辅助以后即使缩进没有了也比较容易用 IDE 恢复缩进格式。 其实 Python 还可以当成 Ruby 那样用的。 __builtins__.end = None def test(x): if x > 0: print("a") else: print("b") end end def main(): test(1) print('I can use end!') end main() |
26
zsdroid 2017-12-31 15:06:26 +08:00
@guog 怎么统一?用大括号,左大括号换不换行都争个你死我活,谈何统一。。。
像你说的那样"写代码是给人看的",我也赞同 但 python 却很坑爹,python 的理念是"代码是个机器看的", 这就是 python 的最大问题 |
28
wangxiaoer 2017-12-31 15:28:04 +08:00 via Android
格式化应该是 ide 负责,当然你可以手动管理,但 py 的手动格式化就等于人肉 parser, 这也合理??
别外,2018 年了,还拿每行 80 个字符说事,真的能办?我都设置的每行 200 个字符。 |
29
AlwaysBehave 2017-12-31 16:25:32 +08:00
@wangxiaoer 赞同
@zsdroid 嗯,我觉得代码还是可以有一点个人风格? 有人喜欢 tab 有人喜欢左括号换行,代码上传前可以说用 CI 统一一个规范 但是下来我自己编辑的时候,我喜欢怎么样设置好 IDE 让他一键排版成我喜欢的样子我觉得很正常 然后就是每次想要在 python 中间某个地方插一行东西的时候总是要看几遍缩进 尤其是鼠标点的时候(应该是我姿势不对 |
30
codehz 2017-12-31 16:50:32 +08:00
@AlwaysBehave #29 你大概需要一款只储存 AST,而不存储实际代码的编程语言
|
31
aristotll 2017-12-31 17:22:20 +08:00
虽然缩进作为语法一直是个槽点 不过要上 Python 这个贼船 还是只能忍吧
|
32
xavierskip 2017-12-31 17:28:02 +08:00
缩进会束缚你的什么?不明白?
还是你的思想会被缩进束缚? |
34
fy 2017-12-31 20:50:38 +08:00
有点难,不光是语法问题,还有一个声明范围的问题
|
35
zsdroid 2017-12-31 20:57:12 +08:00
@xavierskip 束缚什么??,一千个读者有一千个哈姆雷特,凭什么一千个读者的思想必须一致
|
36
xavierskip 2017-12-31 21:04:09 +08:00
@zsdroid #35 是呀,所以有一千个编程语言。但是所有使用 Python 的必须要用缩进,而且,有的人用 tab 缩进,有的人用空格缩进。
你别先射箭再画靶子。 我的结论:如果你纠结点在于到底要不要用缩进,那就别用 Python 了,那么多语言可用。如果你觉得缩进不舒服但是用起来能够解决问题那么你还纠结个什么。一个取舍而已。 |
37
zsdroid 2017-12-31 21:16:20 +08:00
@xavierskip 我纠结的是为什么 python 要这么设计
|
38
xavierskip 2017-12-31 21:26:20 +08:00
@zsdroid #37 文档中是这么说的 https://docs.python.org/3/faq/design.html#why-does-python-use-indentation-for-grouping-of-statements
简单点说就是:创始人就是这么设计的。 有优点也有缺点。你可能认为这是个 bug,其实这是个 features 然后你上面说的『 python 的理念是"代码是个机器看的"』应该是"代码是给人看的"吧 |
39
lrxiao 2018-01-01 08:49:26 +08:00
对齐大括号互用..要不您试试 haskell
|
40
lrxiao 2018-01-01 08:50:47 +08:00
而且 py {}给 set 和 dict 用了 你这个 parser 怎么写。。
|
41
xiaoyanbot OP @lrxiao parser 用 #[ 和 #]
|
42
limbo0 2018-01-01 09:55:29 +08:00 via iPhone
缩进比大括号要优雅,个人还是比较喜欢缩进的
|
43
yacolinqi 2018-01-01 10:47:35 +08:00
这又是何必呢
|
44
Wolther47 2018-01-01 15:47:11 +08:00 via iPhone
是时候出 Python 4 了,另外,其实 Python 也可以声明类型,然后再写一个 Pybabel 转换成对应的版本
|