推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
tedeyang
V2EX  ›  Python

Python 这语言真是混乱和原始

  •  
  •   tedeyang · Aug 24, 2018 · 27465 views
    This topic created in 2838 days ago, the information mentioned may be changed or developed.

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

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

    Supplement 1  ·  Aug 24, 2018
    原来对 python 还是有幻想的,以为 python 是强迫症设计的语言,一定很简洁优雅,这一周有时间学 python,从头到尾系统地了解下来,这玩意简直就是补丁加补丁,层层叠叠,比 ruby 差远了。
    类库、语法糖,就是 python 不多的抓手了,
    OOP 设计是 shit,python 确实是一条蟒蛇,软软的。
    Supplement 2  ·  Dec 21, 2019
    感谢回复,看发言,大家都是大牛,我不是,我是 ppt 程序员。一年才难得上一次 v2ex,看到这么多 reply 很是惊讶,希望大家用 py 能赚到小钱钱。
    155 replies    2020-10-31 16:33:14 +08:00
    1  2  
    hikarugo
        101
    hikarugo  
       Aug 24, 2018
    都是闲的,一下喷这个垃圾一下喷那个垃圾。。。语言这么多选择,自己用的不开心就换一个呗。有那么多时间还不如多深入一点自己的领域知识,真是服了
    WispZhan
        102
    WispZhan  
       Aug 24, 2018   ❤️ 2
    同意,我今天刚刚还和朋友抱怨 Python。

    但是也无法否认 Python 的地位,比较槽点和优点是并存的。就和 Java 一样,槽点和优点都是那么明显。

    “世界上只有两种编程语言:整天被人喷的语言和没有人用的语言。”
    reus
        103
    reus  
       Aug 24, 2018   ❤️ 3
    @XIVN1987
    王垠这种人的话,能听?
    读书半途而废
    工作半途而废
    yin 语言半途而废
    那个什么教程半途而废
    easylee
        104
    easylee  
       Aug 24, 2018
    @reus 您说的这些更让我明白,世界太残酷,天才没出路。
    Yourshell
        105
    Yourshell  
       Aug 24, 2018 via iPhone
    看到这么多人喷 asyncio 我就放心了。不过就说 Python,张嘴就喷真的好么,好歹写个博文论证一下啊,我比较菜看不出个一二三来,希望各位大神写两篇科普一下,谢谢。
    Wincer
        106
    Wincer  
       Aug 24, 2018 via Android
    喷 asyncio 不好用的可以试试 curio
    DavidNineRoc
        107
    DavidNineRoc  
       Aug 24, 2018
    大家不要吵了,听我一句劝。
    是的,有什么不好的都把锅甩给 PHP 吧!
    都没人说,那我就说了!!!
    PHP 是世界上最好的语言!!!
    justff
        108
    justff  
       Aug 24, 2018
    @DavidNineRoc 我同意,PHP 是世界上最好的语言
    ViceP
        109
    ViceP  
       Aug 24, 2018
    PHP 是世界上最好的语言!
    kawkeye
        110
    kawkeye  
       Aug 24, 2018
    @ViceP 胡说 bhb 才是世界上最好的语言
    keysona
        111
    keysona  
       Aug 24, 2018
    一直觉得 python 的协程很难用....

    ----

    真要用协程,我选择 go....
    keysona
        112
    keysona  
       Aug 24, 2018
    没有一门语言生来完美的。

    其他不也是修修补补。我个人觉得这不是喷点。

    ---

    它是可以简洁优雅的,不过考验功力。

    flask 的源码看得很舒服。
    iConnect
        113
    iConnect  
       Aug 24, 2018
    连 Flask 的作者都说没看懂 asyncio
    cenqingbo
        114
    cenqingbo  
       Aug 24, 2018
    PHP 是世界上最好的语言
    YvesX
        115
    YvesX  
       Aug 24, 2018
    现在回头看 Zen of Python,感想就是:想得美。
    CSM
        116
    CSM  
       Aug 24, 2018
    看到标题我以为大家都会怼楼主,没想到这么多人赞同
    ---

    曾经对 asyncio 抱有幻想,但最近越来越发现难用,各种清理工作很难正确进行,后台协程中抛出的异常不特别注意就忽略掉了等等
    zwh2698
        117
    zwh2698  
       Aug 24, 2018 via Android   ❤️ 2
    1.python 早期 主要为了替代那些事物型 c/c++那些人要处理的问题,因为 c 的复杂性,很多人真的很纠结。
    2.python 借鉴了三代语言的特点,提升了开发效率,而且一直在丰富,不错。
    3.python 语言设计这个真的需要王垠这种大牛进行分析。我觉得其他人造诣根本不够。
    4.python 语言分析,解释器核心代码确实写的不错。但是其他外围那些支持动态库真的不怎么样。我曾经修改过部分 Python 源码,切身体会。
    itfanr
        118
    itfanr  
       Aug 24, 2018 via Android
    学 go 吧
    chengxiao
        119
    chengxiao  
       Aug 24, 2018
    @waterlaw
    Instagram 业余吗?知乎业余吗?豆瓣业余吗?
    我觉得能说出这种话的人 才是真的业余
    agagega
        120
    agagega  
       Aug 25, 2018   ❤️ 1
    Python 本来的定位就是短、平、糙的胶水语言,很多东西写起代码也就是平铺直叙,没经过什么特别的设计。在很多 C++ 的大型项目中充当编译辅助脚本的角色。

    什么「人生苦短,我用 Python 」这种话,就跟「 Ruby 让程序员爱上它的工作」「 JavaScript 统治世界」一样,社区营销而已。针对 Python 库多和脚本语言的特性说这句话并没什么特别的,同样我也可以说人生苦短,我用 Ruby、JavaScript、Perl,乃至 Go、Swift ……

    Python 确实很火,但把这个语言吹上天的,开个地图炮吧,大概就是那些其他专业过来想搞 AI、Web 什么的,大学里专业可能也只学过一点点 C、VB,突然发现有这个东西然后惊为天人的……嗯这话对于一部分搞所谓「算法」的研究生也适用。我认为一个有足够知识的程序员 /工程师在编程语言这件事上面,是不会一叶障目的。
    ddzzhen
        121
    ddzzhen  
       Aug 25, 2018 via Android
    优雅还强迫症?哈哈,你很强迫,所以请远离 python。
    李白和杜甫的诗句格格不入
    Wicked
        122
    Wicked  
       Aug 25, 2018   ❤️ 1
    每门流行的语言自有它适用的地方,存在就是合理。我觉得你用一门语言,至少正儿八经写过一个适用这门语言的项目,才能比较了解这门语言的特性,才有发言权。动不动就说“ xx 是垃圾”,只会显得很幼稚...
    猪场的游戏大多都是用 Python 写的,项目说大不大,但也绝对不算小了,不也运行得好好的?
    Blender 也是用 Python 写的,3D Max 的开源替代,非常好用,了解一下?
    bucky
        123
    bucky  
       Aug 25, 2018   ❤️ 5
    @reus 这话说的,最起码王垠有半途而废的能力,而且人家的半途对大多数人来说人生的终点都达不到
    jiangnanyanyu
        124
    jiangnanyanyu  
       Aug 25, 2018 via Android
    hacknews 有很长的讨论,各位可以搜搜看
    IMRES
        125
    IMRES  
       Aug 25, 2018 via iPhone
    弱类型语言流行起来后都是一地鸡毛
    inframe
        126
    inframe  
       Aug 25, 2018 via Android
    任何计算机语言是为了解决一定问题
    脱离这个现实约束讨论
    毫无意义
    dartabe
        127
    dartabe  
       Aug 25, 2018
    @agagega 在大学里作为免费的科学计算工具替代 matlab 不是挺好的嘛 有啥好喷的
    ruoyu0088
        128
    ruoyu0088  
       Aug 25, 2018
    本来以为楼主是大牛,正在构思优雅,统一的理想中的语言。结果一看附言,拿 Ruby 当个宝。
    zhangpeter
        129
    zhangpeter  
       Aug 25, 2018
    @tlday
    python 协程可以看我的文章
    https://github.com/zhang0peter/python-coroutine
    jxl
        130
    jxl  
       Aug 25, 2018 via iPhone
    @laike9m == sry 搞反 @tyfulcum 动态和弱不是相对的吧
    q397064399
        131
    q397064399  
       Aug 25, 2018
    解决问题就好了,用来搞短平快 快糙猛的玩意 你指望它建摩天大厦?
    lihongjie0209
        132
    lihongjie0209  
       Aug 25, 2018
    @dacapoday #65 这是优点? 你返回一个 map 你让调用者怎么处理? 靠猜? 靠文档? 这些都是靠不住的, 所以 Java 用编译器来发现这些问题.
    barbery
        133
    barbery  
       Aug 25, 2018
    我就知道 PHP 要躺枪了
    Phishion
        134
    Phishion  
       Aug 25, 2018
    Python 永不为奴!!!
    railgun
        135
    railgun  
       Aug 25, 2018
    @chenqh 说得好,但是最好的语言是 PHP
    laike9m
        136
    laike9m  
       Aug 25, 2018 via Android   ❤️ 1
    @IMRES 连 Python 是强类型都不知道就不要指点江山了吧
    laike9m
        137
    laike9m  
       Aug 25, 2018 via Android
    @jxl Python is strongly and dynamically typed.
    用英文不容易有歧义。
    edwinxe2v
        138
    edwinxe2v  
       Aug 25, 2018
    用可读性和结构性极强的 Pascal 系(Delphi/Lazarus)的飘过。

    这些年学过或者用过 VB、C#、Python、C++、PHP 和 JavaScript,最喜欢的还是已经变得有点没落的大 Delphi。

    随着上个月免费的 Community Edition 的退出,希望她的占有率能重新有点起色吧,而且希望背后的公司不久的将来把 for Linux 的支持也放到免费社区版去。
    jxl
        139
    jxl  
       Aug 25, 2018 via iPhone
    @laike9m 我知道啊 是搞反了 弱类型 说的是 java go
    secondwtq
        140
    secondwtq  
       Aug 25, 2018   ❤️ 1
    @Wicked Blender 这个例子举的真是 ...
    首先除了 Web 开发等少数领域之外,其他很多圈子的开源之路甚至不能说刚刚开始,Blender 现在也就算刚露个头,好用不好用是很主观的事情
    另外你去看 Blender 的 GitHub repo,Python 代码连 5% 都不到 ... 这种数据量巨大的东西没有哪个傻瓜会全用 Python 写的
    有一点倒是没错,就是 VFX 圈子现在很流行 Python + Qt 的组合,不过包括 Blender 在内,主要都是写个脚本和界面完善工作流而已,这个和 MS Office 内嵌 VBA,AI 流行 Python 是一样的道理。写这些的人并不是专业的程序员,只不过顺手写两段而已

    核心代码全都是 C 和 C++。
    Qzier
        141
    Qzier  
       Aug 25, 2018 via iPhone
    先入为主?后面的都是垃圾?
    nicoljiang
        142
    nicoljiang  
    PRO
       Aug 26, 2018
    @kisnows 双击标题栏放大,了解一下。
    kisnows
        143
    kisnows  
       Aug 26, 2018
    @nicoljiang #142 你自己去试试就知道了,不是所有情况下双击标题栏都会窗口最大化的。
    nicoljiang
        144
    nicoljiang  
    PRO
       Aug 26, 2018   ❤️ 1
    @kisnows 嗯哼。我用了这么久的感受基本都可以,不可以的大概可以分两种情况。

    一种可能是支持不好,比如:
    1、微信,用了「不标准的视窗」,但又没有单独支持(同样使用不标准视窗的 QQ 和 QQ 音乐 就可以);

    一种是软件本身刻意为之,比如:
    1、QQ 音乐(跟微信一样,但有特别支持),双击标题栏只能缩放高度,因为这软件就不让你调宽度。
    2、文件管理器(访达),默认情况下双击标题栏默认可以放大缩小,但是当你手动调整过大小之后,双击标题就变成「默认大小」和你「手动调整大小」之间的切换。

    再顺带一提:在高度、宽度均可调整的视窗种,一般情况下除了可以双击「标题栏」放大缩小之外,还可以双击视窗的「四个边界」,可以做到「自动单边放大顶边」(虽然不能双击再缩小)。

    以上是我的大致总结,你也可以试一下。
    reus
        145
    reus  
       Aug 26, 2018
    @bucky 所以大多数人就应该当他说的话是放屁啊
    Wicked
        146
    Wicked  
       Aug 26, 2018 via iPhone
    @secondwtq 确实没有看过 blender 的 repo,想来 cpp 占主体也是合理的。用 python 的好处是,撸个插件很容易。此外,用 pyqt 写工具也是很愉快的体验
    你举的例子,在我看来都很正面…这就是我所说的,语言要用在合适的地方。
    但比较不认同的是“写这些的人并不是专业的程序员”,所有 python 程序员都被你地图炮了…
    secondwtq
        147
    secondwtq  
       Aug 26, 2018
    @Wicked 这里我说的不是很清楚,其实指的是在特定领域的特定人群,不好意思。

    我 po 这一段的目的也是给大伙说明一下 Python 在主流视野之外的一些具体应用,并无地图炮之意。
    jhdxr
        148
    jhdxr  
       Aug 27, 2018
    @chengxiao 你说的是那个成天服务器提了一个问题的知乎吗?嗯,的确挺专业的。 ←_←
    chengxiao
        149
    chengxiao  
       Aug 27, 2018
    @jhdxr 那你觉得 v2 专业不专业呢?
    mingyun
        150
    mingyun  
       Sep 4, 2018
    gowk
        151
    gowk  
       Oct 12, 2018
    以前被 Zen of Python,Pythonic 忽悠的不要不要的。现在想想,正因为原始和混乱,所以才出现了 PEP 8,The Zen of Python,以前奉为圭臬的东西原来是不值得追捧的。但这不妨碍 Python 好用,工程上当然是适合什么就用什么,但就是对 Python 喜欢不起来了,所以我套用一句,“人生苦短,爱我所爱”。
    gowk
        152
    gowk  
       Oct 12, 2018   ❤️ 1
    https://twitter.com/mattmillr/status/1050477727743127552: The more I write in #golang, the dirtier I feel about every line of #python I've ever written. That doesn't mean I'll stop writing dirty, dirty #python.
    zjhken
        153
    zjhken  
       May 25, 2019
    终于有人跟我对 python 一样的想法了
    mainfunction
        154
    mainfunction  
       Sep 14, 2019
    虽然不想挖坟,但是忍不住想说,python 真的很不优雅,但是 pycharm 真的好
    SuperMild
        155
    SuperMild  
       Oct 31, 2020
    @gowk 同感,了解了 Go 的设计细节之后,看 Python 就会觉得一大坨(有点乱、有点重),Go 则简洁轻快高效。
    1  2  
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   934 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 180ms · UTC 21:29 · PVG 05:29 · LAX 14:29 · JFK 17:29
    ♥ Do have faith in what you're doing.