js 党可以吐槽一下 Python 吗

2017-09-12 00:49:17 +08:00
 sensui7

缩进真的不习惯, map 返回的竟然是一个迭代器, 也许这就是大佬吧, 匿名函数 还要写 lambda 这么长的单词, 列表的长度还要用 len 函数而不是 len 属性, 您的列表到底是不是对象呢? 要不是对象您的 append 方法又是怎么回事? 我大 js

js:
arr.map(x => x*2)
python:
list(map(lambda x: x*2, arr))

非引战, python 的优点就是生态环境, 我也是看中这点...

19552 次点击
所在节点    Python
156 条回复
rogwan
2017-09-12 00:52:44 +08:00
数 } 真数不清楚哇😭
eric6356
2017-09-12 00:58:22 +08:00
cdwyd
2017-09-12 00:59:19 +08:00
不可以
Nitroethane
2017-09-12 01:01:32 +08:00
每个人的习惯不同啊,一中语言写多了,刚开始写别的语言肯定各种不爽,很正常。所以嘛,最好的解决办法就是几种语言同时换着写,比如我最近用 python 写服务端,前端再写 JS,很酸爽。唯一不爽的一点就是 JS 的括号真心难数🙄
mooncakejs
2017-09-12 01:01:46 +08:00
据说看 python 工具书之类的要自备尺子
shihira
2017-09-12 01:04:04 +08:00
把 lambda 整个单词打出来这一点我也不满意。缩进让代码易读就是个笑话。

list 是对象,它的长度是来自__len__这个函数,len 只不过帮你调用了它而已。len 这里其实更像是一个 adapter,抹平容器间的差别的通用方法。举个相似的例子,比如在 C++里,你可以 vec.begin(),也可以 std::begin(vec)。

返回迭代器是懒求值嘛,自然就有懒求值的好处,和坏处。
CryMeatel
2017-09-12 01:07:48 +08:00
。。。那是你不会写 python,那个逻辑一般这么写:[x*2 for x in arr]
map 在 python 官方文档中明确不建议用
Miy4mori
2017-09-12 01:08:03 +08:00
Java 写惯了感觉这俩都不够 OO,很痛苦。
wellsc
2017-09-12 02:26:07 +08:00
@Miy4mori Erlang 才是最 OO 的语言,Java 顶多算是 OOP
lovestudykid
2017-09-12 02:46:00 +08:00
@mooncakejs 笑了。那 js 看书怎么办,拿笔给括号编号么?
msg7086
2017-09-12 02:52:06 +08:00
Python 的 OO 风格本来就有点问题,容器对象的长度方法竟然是个下划线方法;然后虽然提供了类似 map 的函数式调用和 lambda 表达式,却告诉你不要去用他们。之前转去代工一个 Python 程序的时候,写代码要多难受有多难受。

@Miy4mori 听说 Java 还有非对象元素。
jtsai
2017-09-12 03:57:56 +08:00
就这槽点 Python 严重吐槽 js 的数据类型
RqPS6rhmP3Nyn3Tm
2017-09-12 04:07:48 +08:00
@msg7086 下划线倒是没什么问题,正确的做法不应该是 Len() 吗
__repr__也是同理
zhoufenfens
2017-09-12 04:08:31 +08:00
最近写 ts,感觉静态类型作用没想象中那么大,写的烦琐
msg7086
2017-09-12 04:09:24 +08:00
@BXIA len(arr) 实在是太丑了。
lrxiao
2017-09-12 04:12:59 +08:00
python 的 lambda 槽点确实大..神 tm 只能 capture by ref 还不能做正常的 for/if
lazy 有 lazy 的好啊
mozutaba
2017-09-12 04:13:00 +08:00
我技术并不厉害,都是写些业务流程类的。不过 C++,java,php,js,python 发现回不去了。还是 python 方便
lrxiao
2017-09-12 04:14:08 +08:00
有个 UFCS 就更好了(
list.len == len(list)
lrxiao
2017-09-12 04:15:38 +08:00
js 的 arrow function 还是很爽
kenshinji
2017-09-12 05:51:49 +08:00
@Miy4mori OO ? java 写起来不累么?虽然我也是每天写 java,但是真心累觉不爱

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

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

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

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

© 2021 V2EX