这几天被 Python 搞得快崩溃了

10 天前
 weiqk
主要是语法问题,缩进极不习惯,美观和可读性并没觉得提高,结尾也没有分号
结束似乎也没标记,不如类 c 语言方便


立贴起誓,新项目我再用 python 我是猪
15328 次点击
所在节点    Python
179 条回复
DOLLOR
10 天前
@ytmsdy
其实 python 有个容易忽略的点,虽然不用写大括号“{}”了,但还需要写冒号“:”。而且这个冒号在标准美式键盘上也是要 shift 组合才能输入的。所以 python 的缩进语句块,似乎并不比其他大括号语句块节约按键数。


@15855pm
多一个、少一个大括号属于语法问题,编辑器能立马报错,解决问题。
反观多一个、少一个缩进,这代码可能还是符合语法的,不容易发现,这才是灾难吧。
miaotaizi
10 天前
@wxf666 小项目用用就行啦, 动态字段写多了, 你维护个 三五年的项目试试看呢, 怕不是都不记得当初是怎么个动态的了
miaotaizi
10 天前
@nno 有多少人改了代码回去改注释呢, 就这点而言我就觉得 java 天下第一
imkerberos
10 天前
py 很美很暴力, 你忍一下.
shuqin2333
10 天前
你用 py 不买游标卡尺的吗
justdoit123
10 天前
缩进语法,真的巨难用。T_T
toyuanx
10 天前
我平时主要用 go ,然后刷题想用 python ,结果好多函数记不住,sad
nzbstn
10 天前
@ytmsdy #10 个人是觉得 python 还算挺简洁的, 可能是用 python 用惯了, 前阵子想学学 go, 但还是忘不了 python 的语法, 至于 java ,算是我最讨厌的语法吧, 但是好像很多大型项目用的都是 java, 一些工具甚至也是 jar
moudy
10 天前
@yb2313 #6 u1s1 python api 的接口文档相比 java c cpp 严谨性差太多了。
moudy
10 天前
@cbythe434 #44 php 那一堆$才是 perl 遗毒啊
moudy
10 天前
@thorneLiu #39 现代 python typing 已经不错了。但是很多人不爱用
moudy
10 天前
@UN2758 #41 多层 if else 嵌套时外层的 else 确实很蛋疼,一眼看不清楚这个 else 对的是哪个 if
UN2758
10 天前
@moudy #112 额,IDE 有提示啊
YVAN7123
10 天前
只是语言的习惯不同而已, 没有必要上升到不用把?
moudy
10 天前
@UN2758 #113 这种提示也就修补了一点点。做网络 protocol 解析时(比如 scapy 插件)经常会搞出 if 下面很大一块处理代码,然后嵌套 if 。深层 if 有的带 else ,有的不带。还需要上下查看有没有漏判断的 field 。还有的时候要搬动逻辑到别的 if 下去。识别及修复缩进在这里真的是麻烦。
moudy
10 天前
@qq78660651 #43 python 在这种大军团作战的协调性 feature 上很软。哪怕团队协商好了,外来的库也会给你们添乱。
lambdaq
10 天前
@xz410236056 @june4 @ytmsdy @weiqk

特大好消息,python 支持在结尾写分号了。最早支持的版本是。。。让我看看。。。。1991 年发布的 0.9.0 版!!

那么问题来了,LZ 用的 py 是 Guido 当年写的 0.8.0 内测版吗?
YUyu101
9 天前
我只是简单用用 python ,所以没深度去学,目前体验难用的点主要是两点。

1 缩进导致的在原代码上增加 if else 或 for 之类的注释某段代码后必须先手动缩进才能运行,没有{}导致格式化程序也不能擅自帮你缩进。
而我一般都是先运行能跑通后再格式化,这一点比较蛋疼。

2 取属性有三种方式 [] . getattr ,还会抛异常
这个我感觉脚本语言不应该区分那么多访问方式,那些编译语言因为要零成本抽象,所以符号要明确代表偏移地址,指针等操作,但脚本语言完全可以不需要这些,像 lua 和 js 就很好。

这只是吐槽,很多库只有 python 有我也只能去用,只是会把该库相关的操作做成独立的服务暴露 api 给其他语言去调用,可能深度学过 python 可以缓解以上问题,但没办法我要写的不止 python ,精力有限的情况下,只能去尽量减少可能出错的地方。
cocogovern
9 天前
@cmdOptionKana 人家说不定喜欢记事本打开然后调试全部流程跑一遍。
qq78660651
9 天前
@moudy #116 毕竟不是强约束的语言,需要自我约束,个人使用就还好。

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

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

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

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

© 2021 V2EX