Python 这语言真是混乱和原始

2018-08-24 12:24:08 +08:00
 tedeyang

under under method,解释器里狂塞私货 _xxx 这种私有变量, 多重继承, 抽象类居然是用包来支持的,abc.ABC ClassA.method1(ClassB),unbound method ?

python 混乱,一点也不优雅和统一。

24930 次点击
所在节点    Python
155 条回复
zh826256645
2018-08-24 16:24:37 +08:00
刚从 Java 转 Python 的时候, 确实感觉 Python 这门语言有很多缺陷, 就比如 Python2 和 Python3, 为什么 Py2 和 Py3 得区别那么大, 而且还那么多不兼容得语法, 毫无疑问就是设计得缺陷, 所以 Python 并不是一门完美得语言, 所谓优雅, 也是让你用 Python 编程的时候使用"优雅"的写法, 或者说要够 Pythonic.
当你熟练掌握和使用后, 真香就 lie 了.
msg7086
2018-08-24 16:31:53 +08:00
语言角度你拿 Python 和 Ruby 比这不是自讨没趣么。
半个 Lisp 半个 Perl 半个 Smalltalk 的底子可不是吹出来的。
看到 len(arr) 怕不是要被尬死……
SuperMild
2018-08-24 16:33:57 +08:00
Python 论语言本身确实不算优秀,但这是因为后来很多语言追上来了,最初的时候 Py2 还是很惊艳的。另外就是生态,唯一一个能和 Java 拼生态的语言。别的任何语言,在生态这方面都斗不过 Java 和 Python,JS 排第三。
luffysup
2018-08-24 16:39:19 +08:00
_(:з」∠)_ 不要争了 c# 天下第二
dacapoday
2018-08-24 16:42:38 +08:00
@passerbytiny #59 同样是改动,python 修改量小,java 的修改量大到不如重构。主要是少了修改类型声明,而且内置的数据容器足够强大。无需自造各种数据类。
swulling
2018-08-24 16:45:31 +08:00
一周
swulling
2018-08-24 16:47:46 +08:00
V2 牛人多奇志,一周喷死一语言
passerbytiny
2018-08-24 16:57:18 +08:00
@dacapoday 修改量方面请举例。如果是运行期变量自动识别类型这种情况就不要举了,这是设计不良。
FrailLove
2018-08-24 17:04:34 +08:00
专业的人用什么语言写都优雅,菜鸟用什么语言都写**屎**一样的代码
PhpBestRubbish
2018-08-24 17:06:35 +08:00
瞎说大实话
anjianshi
2018-08-24 17:08:51 +08:00
语言只是工具。觉得不和你口味那就换个语言。
一门语言有这么多使用者肯定是有原因的。
我是比较了 Python 和 Ruby 很久后,选择了 Python。
owenliang
2018-08-24 17:09:48 +08:00
最早 python 是很好的,后来就不遵守自己的哲学了。

>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
alphanow
2018-08-24 17:13:20 +08:00
估计楼主就是单一语言使用者,缺乏学习能力
houskii
2018-08-24 17:15:12 +08:00
Java 语言还是挺啰嗦的,还是 kotlin 写着舒服…
这么说吧,python 拿来写个一次性用的东西还是没什么问题,但是一旦涉及到多人维护更新,成本比 Java 高太多了。三方库多有利有弊,一次性写只用 care 当前的功能就行了;但是要维护起来只能靠别人的文档,而且一旦库有问题,重构成本难道不比 Java 高?
102400
2018-08-24 17:18:05 +08:00
用 Python 就是图个方便,语言层面真心不如 Ruby 优雅
est
2018-08-24 17:19:10 +08:00
@thinker3 人才。。。
dacapoday
2018-08-24 17:20:15 +08:00
@passerbytiny #68 如我第一个回帖,每个人使用的领域不同,所以你不能理解。我使用 python 是在科学计算上的,数据来源和格式是不确定的。后续的处理方式也不同。但程序运行有限次数,而不是作为守护进程持续运行。不能指望抽象出一个基类或接口。运行期变量自动识别类型,这是动态语言在此处的优势,仅仅追加一个条件判断,相比重新实现或继承一个类,或者重新实现相关的方法。哪个打字多?
zj299792458
2018-08-24 17:20:29 +08:00
两周后:真香!
laike9m
2018-08-24 17:20:29 +08:00
Python 补丁较多,这是 PEP 体制决定的。

但喷 Python 的多重继承就属于乱喷了。Python 的多重继承设计实际上比 C++ 和 Java 更加正确,参见:
https://www.zhihu.com/question/31377101/answer/404546399
gowk
2018-08-24 17:22:04 +08:00
@SuperMild #6 非常赞同

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

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

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

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

© 2021 V2EX