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 的优点就是生态环境, 我也是看中这点...

19614 次点击
所在节点    Python
156 条回复
weishu
2017-09-12 17:00:45 +08:00
python 列表,不想用 len()函数,可以用 `__len__()`:

```python
l = [1, 2, 3]
print(l.__len()__)
```
SharkU
2017-09-12 18:51:44 +08:00
吐槽完了不还得用、
CodemonkeyM
2017-09-12 18:54:18 +08:00
@dikT 看到这样的 js 就想一行行的敲回车....
goodspb
2017-09-12 18:57:48 +08:00
恩?看到楼主的头像,我还以为 V2EX 出了“点赞”的新功能。。
kkzxak47
2017-09-12 19:15:29 +08:00
Python 真正的万物皆对象
oneisall
2017-09-12 19:46:50 +08:00
我以为有点赞功能了。。。。。。。?????
srlp
2017-09-12 22:51:16 +08:00
len() 的问题,那是设计如此,楼上有个回复说得好,用的是 adapter 的思维方式。

lambda 没啥好洗地的,python 的弱项。

至于吐槽缩进的,不明白这有什么好黑的……有什么生产环境下的代码不缩进比缩进好吗?难道有括号的语言就不缩进了???说个笑话:左大括号写在行末还是另起一行。呵呵呵呵
prenwang
2017-09-12 23:04:14 +08:00
说了半天,该回到主题了,快去找女朋友吧
ioth
2017-09-13 09:54:46 +08:00
js 和 py 吵什么?
不还得用 php,工资有新 x 方,B 大青 D 的大 java 工资高吗?
XIVN1987
2017-09-13 11:45:44 +08:00
lambda 方面 python 确实是弱项,,

可这也并非全是缺点,,毕竟写一堆没名称的函数写的时候爽、以后维护就噩梦了。

所以复杂的逻辑还是写在有名称的函数里比较好,,毕竟一个好的函数名能很好的说明函数的功能和意图
sensui7
2017-09-13 12:06:09 +08:00
本帖不是引战的, 那没意义, 交流学习, 大鸣大放, 我的教材是 learn python in y minutes, 看了下列表推导式, 挺方便的. 有特色, len 函数的原因, 算是学习到了.

至于 map 返回迭代器, 之前实在恼火遂搜索, SO 某个答案说的, 完整的列表和迭代器都有需求, 从迭代器产生列表容易, 从完整的列表产生迭代器较麻烦, 再加上性能原因, 它就被设计成返回迭代器, 我觉得也有道理.

顺便鄙视下某个用户, 山寨我的头像, 这个用户完全就是个营销号的样子. 已经拉黑.
crash
2017-09-13 13:55:17 +08:00
python 坑多了去了,不过还是比 es5 强,被 es6 碾压。
kuro1
2017-09-13 15:03:15 +08:00
[ x*2 for x in arr]
keisuu
2017-09-13 16:22:09 +08:00
python2 才是真正的坑多
suntxy
2017-09-13 19:15:26 +08:00
不管你们怎么说,我开发快生态好支持多胶水语言瑞士军刀。
bnm965321
2019-09-27 13:58:27 +08:00
map 返回迭代器,是因为从 haskell 借鉴的 lazy evaluation。如果你用 js 的各种函数编程库,也会是这样的,比如 lodash。

__len__ 是 python 最大的优点之一,这个“约定重于配置”的设计体现了 python 的一致性,推荐看 python 官方文档的 data model 一节,很多大佬都觉得 van guido 的语言设计水平是相当高的。

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

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

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

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

© 2021 V2EX