小白不懂就问, Python 是不是语法糖最多的“常规”语言

2022-07-03 22:00:28 +08:00
 churchill
list(zip(*[(1,3,6),(2,4,5)]))

这啥啊,好家伙一个*号用到的地方比 c/c++还多 不闲齁得慌吗

1956 次点击
所在节点    问与答
15 条回复
westoy
2022-07-03 22:08:50 +08:00
问题是, 你这个*[]意义何在......有没有一种可能, 去掉这个, 完全没有任何影响.....
misaka19000
2022-07-03 22:10:55 +08:00
看一看 Ruby
ecnelises
2022-07-03 22:22:44 +08:00
Ruby 、Swift:?
codeMore
2022-07-03 22:25:32 +08:00
a = list(zip(*[(1, 3, 6), (2, 4, 5)]))
b = list(zip((1, 3, 6), (2, 4, 5)))
codeMore
2022-07-03 22:26:00 +08:00
a,b 是等价吧
churchill
2022-07-03 22:38:02 +08:00
@westoy 别骗我 我不懂 python
```
a = zip(*[(1,0),(0,1)])
b = zip([(1,0),(0,1)])
for c,d in a, b:
print(c,d)
# (1, 0) (0, 1)
# ((1, 0),) ((0, 1),)
```
westoy
2022-07-03 22:41:05 +08:00
@churchill

去掉*[], 不是去掉*啊......
hsfzxjy
2022-07-03 22:42:44 +08:00
ruby ,rust ,kotlin
churchill
2022-07-03 22:45:36 +08:00
@westoy 噢 我例子举得随便了,源代码中内容是作为参数传进来的
LeeReamond
2022-07-04 01:04:05 +08:00
语法糖存在与否,本质上还是为了方便人机交互,所以语义清晰即可,从这个角度上讲 for in/for each of 这类接近自然语言的语法糖设计为一类,python 的*解析式可以认为是二类,c 语言在声明和赋值混合使用星号(而不采用 ptr 之类的元语表达相同含义),包括 rust 设计中用量过于频繁的各类标记性的标点符号,就都比较糟糕了
Building
2022-07-04 01:32:12 +08:00
Swift 表示……都是渣渣
Leviathann
2022-07-04 03:09:28 +08:00
python 的语法 其实还是相当简陋的 也就只写过 c 早期 Java 等古早语言的才会吹一吹它的所谓贴近自然语言这点
MintZX
2022-07-04 11:29:38 +08:00
看一看 scala
abersheeran
2022-07-04 17:11:03 +08:00
https://mingshe.aber.sh/en/ 我甚至觉得 Python 的语法少了哈哈哈
coderwl
2022-07-04 17:16:14 +08:00
ruby 的糖多的离谱

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

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

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

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

© 2021 V2EX