Python 2017 年这一年有什么值得一提的新东西吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
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
zachguo
V2EX    Python

Python 2017 年这一年有什么值得一提的新东西吗?

  •  1
     
  •   zachguo 2017-12-20 09:06:20 +08:00 8550 次点击
    这是一个创建于 2851 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 新的好的改动?
    • 值得称道的包?(除了 deep learning 相关的)
    • 包管理比之前有什么进步吗?

    Python 倒是越来越火了,这多亏了 deep learning 和培训班 CS101 吧。。

    公司的 python 后端除了一些有关机器学习的倒是都已经迁移到 node、go、java 了,哎。

    68 条回复    2017-12-21 17:26:36 +08:00
    SevnChen
        1
    SevnChen  
       2017-12-20 09:09:42 +08:00
    PyTorch
    neosfung
        2
    neosfung  
       2017-12-20 09:19:11 +08:00 via iPhone
    PyTorch
    newbieo0O
        3
    newbieo0O  
       2017-12-20 09:21:34 +08:00
    被我国列入大学教材。也算是推动今后国内的发展吧
    designer
        4
    designer  
       2017-12-20 09:23:37 +08:00 via iPhone
    最后两句话咋感觉在唱衰 Python 呢。
    SnowEidolon
        5
    SnowEidolon  
       2017-12-20 09:24:38 +08:00
    本质的还真没啥新东西
    janxin
        6
    janxin  
       2017-12-20 09:29:50 +08:00   1
    pipenv,django2.0。其他的中规中矩了。

    迁移是招聘考虑,你随便招个前端,java,只要要求不高简历一大把经常能到手软,还是能挑到几个不错的。

    你随便招招 Python 后端试试?
    neosfung
        7
    neosfung  
       2017-12-20 09:33:50 +08:00 via iPhone
    我软的 LightGBM
    zachguo
        8
    zachguo  
    OP
       2017-12-20 09:54:26 +08:00
    @SevnChen
    @neosfung
    还是 deep learning 相关的,GitHub 上 python trending 基本都是 deep learning 的东西。
    zhengxiaowai
        9
    zhengxiaowai  
       2017-12-20 09:56:39 +08:00
    诶,讲真今年都是 deep learning 的东西
    zachguo
        10
    zachguo  
    OP
       2017-12-20 09:56:42 +08:00
    @janxin 还真不是,都是生态、性能、架构、维护考虑。除了处理数据的,py 真没啥优势了。。
    jtsai
        11
    jtsai  
       2017-12-20 10:02:08 +08:00 via Android
    @zachguo Python 一直追求的都是效率
    ZiLong
        12
    ZiLong  
       2017-12-20 10:05:25 +08:00
    @jtsai 缺啥补啥
    jhdxr
        13
    jhdxr  
       2017-12-20 10:08:54 +08:00   1
    @zachguo 性能从来都不是 Python 的优势。生态才是,ML 这块不大可能有一个语言,不管是新的还是老的去逆袭了。
    其他方面 Python 也就那样了,不温不火。
    XIVN1987
        14
    XIVN1987  
       2017-12-20 10:16:12 +08:00
    python 最大的问题是性能,,几乎是所有编程语言里面最慢的,,
    老板一想到用 Python 得多买几台服务器就肉疼,,所有就选 JAVA、Go、Node、PHP、C#去了 ()
    ty89
        15
    ty89  
       2017-12-20 10:20:11 +08:00
    1,被选入了某些小学的教材
    2,被选入计算机二级考试
    codeyung
        16
    codeyung  
       2017-12-20 10:38:36 +08:00
    所以 Python 现在就是机器学习嘛 我看有些朋友也是 后端写着写着用了 JAVA Go 和 C#

    请教下 之前没事看 Python 现在暂停了~QAQ
    est
        17
    est  
       2017-12-20 10:44:54 +08:00   3
    @XIVN1987 如果贵厂性能在 python 上,要么老板毛都不懂,要么贵厂业务已经上了规模了。
    zachguo
        18
    zachguo  
    OP
       2017-12-20 10:54:14 +08:00 via Android
    @jhdxr 要是哪个语言能出个和 numpy 抗衡的包。。。
    toalec
        19
    toalec  
       2017-12-20 10:54:26 +08:00   1
    @XIVN1987 python 性能差主要体现在计算密集的情况下吧,一般 web 这种 IO 密集比较多的情况下,性能也没那么重要。
    zachguo
        20
    zachguo  
    OP
       2017-12-20 11:07:05 +08:00 via Android
    @neosfung 还是 ml 哪天试一下
    congeec
        21
    congeec  
       2017-12-20 11:36:53 +08:00
    @zachguo fortran 性能完爆 numpy,不过我才不想碰 fortran 呢
    jjx
        22
    jjx  
       2017-12-20 12:09:18 +08:00
    @toalec

    这个事情要这么看, 以 sql 为例子, 如果直接使用 raw sql 差距不明显(但也有差距)

    但如果你一用 orm, 差距就很明显了, 不过反过来说, 像 go 这样的 , 其实这么多年, 一个像样的 orm 都找不出来, 业务类开发的效率可想而知
    janxin
        23
    janxin  
       2017-12-20 12:09:22 +08:00
    @zachguo 你确定生态和架构有问题?
    维护其实就是招人问题,性能还是那样子,能遇到性能问题的都是中型以上了,转型我觉得没毛病
    UN2758
        24
    UN2758  
       2017-12-20 12:16:16 +08:00
    @XIVN1987 你们对于 python 性能瓶颈部分难道不用 c++做优化的吗?
    northisland
        25
    northisland  
       2017-12-20 12:23:35 +08:00
    过了 12 月 31 日,
    离 python2 被开发团队停止支持,还有 2 年吧~
    ericls
        26
    ericls  
       2017-12-20 12:25:00 +08:00 via iPhone
    @jhdxr 性能不是效率……
    zachguo
        27
    zachguo  
    OP
       2017-12-20 12:25:03 +08:00 via Android
    @janxin py 除了数据真的没啥可留念的了,大型的求性能不会用它,小的 microservice/后端胶水也不会用它,就面试新人算法题用了。
    northisland
        28
    northisland  
       2017-12-20 12:26:18 +08:00
    当前进展不了解,但我今年 get 了 boost::python 这个新技能,感觉真心厉害~
    northisland
        29
    northisland  
       2017-12-20 12:27:00 +08:00
    pyspark 怎么样?
    Technetiumer
        30
    Technetiumer  
       2017-12-20 12:28:25 +08:00 via Android   2
    微软要在 excel 支持 Python
    zachguo
        31
    zachguo  
    OP
       2017-12-20 12:29:11 +08:00 via Android
    doubleflower
        32
    doubleflower  
       2017-12-20 12:31:05 +08:00 via Android
    其实我觉得 js 写起来比 py 舒服,包似乎也更多,速度也更快
    janxin
        33
    janxin  
       2017-12-20 12:33:20 +08:00
    @zachguo 后端胶水选什么都一样吧...只是最开始你也没把 python 放在选项里而已
    northisland
        34
    northisland  
       2017-12-20 12:36:38 +08:00   2
    架构,消息框架,都有 python 接口。耗时模块的用 C++甚至 Cuda 实现,boost::python 封装接口。


    刨去上述功能,剩下的代码,是什么 B 样,离垃圾桶多远,自己没个数么?




    所以吧人生苦短,为啥不用 python ?
    syahd
        35
    syahd  
       2017-12-20 12:38:40 +08:00 via Android
    为啥都说性能差呢,感觉用 pypy 的话,虽然比 c 语言差很多,但是离 java 不远了啊
    northisland
        36
    northisland  
       2017-12-20 12:39:55 +08:00 via iPhone
    @zachguo 对的
    congeec
        37
    congeec  
       2017-12-20 12:41:05 +08:00   1
    janxin
        38
    janxin  
       2017-12-20 12:47:48 +08:00
    @whwq2012 pypy 也不是完全没有其他问题,比如库兼容问题,与 CPython 的实现区别问题
    zachguo
        39
    zachguo  
    OP
       2017-12-20 13:00:29 +08:00 via Android
    @northisland c binding 也确实是 py 的优势,这也是为什么 numpy 能独霸一方吧。不过你处理的问题比较底层,对比其他高层语言写业务相关的东西,只能摊手了。♂
    northisland
        40
    northisland  
       2017-12-20 13:04:44 +08:00 via iPhone
    @zachguo 确实是的,上述观点仅代表一个做算法的,对系统的理解
    whatcall
        41
    whatcall  
       2017-12-20 13:07:07 +08:00 via Android
    realkenshinji
        42
    realkenshinji  
       2017-12-20 13:08:38 +08:00
    @XIVN1987 相比 ruby ?
    duobei
        43
    duobei  
       2017-12-20 13:47:47 +08:00
    Jupyter Lab
    ivechan
        44
    ivechan  
       2017-12-20 13:51:55 +08:00
    @northisland boost.python 有点难用, pybind11 不错.
    ivechan
        45
    ivechan  
       2017-12-20 13:53:29 +08:00
    @UN2758 可能是因为招一个熟悉 C++又熟悉 Python 的程序员, 还不如直接招一个 Java 程序员吧.
    zachguo
        46
    zachguo  
    OP
       2017-12-20 13:55:43 +08:00 via Android
    @duobei 感觉有些 atom 和 vscode 插件已经实现这个了
    XIVN1987
        47
    XIVN1987  
       2017-12-20 14:45:21 +08:00
    @toalec
    性能确实不是非常重要,,可是 Python 动不动就慢十几甚至几十倍、上百倍,,这也太慢了

    我也很喜欢 Python,,但速度快总是有点吧,还有嫌执行速度快的吗??
    XIVN1987
        48
    XIVN1987  
       2017-12-20 14:46:42 +08:00
    @realkenshinji
    这俩一对儿难兄难弟,,都很慢,,而且还都有 GIL,,半斤对八两
    liverpool08
        49
    liverpool08  
       2017-12-20 16:56:06 +08:00
    @XIVN1987 都不要比了 php 最慢
    jhdxr
        50
    jhdxr  
       2017-12-20 17:52:16 +08:00
    @ericls 我没有提到效率,你回复错人了?


    @northisland 如果耗时的模块是一个常年不需要变更的,用 C 写还能接受;不然,我为什么不用 Java ?架构、消息框架之类的 Java 比 Python 完善的多


    @Technetiumer 前几天那帖子只是个调查而已吧?


    @whwq2012 pypy 与 cpython 的兼容并不是那么好,而且到现在也才支持到 3.5 吧?只不过说实话我是支持 GIL 的,去掉它肯定会有一堆小白不知道该怎么处理。。。


    @liverpool08 如果指的是运算性能的话,在大多数场景下 php 比 Python 快很多
    northisland
        51
    northisland  
       2017-12-20 18:06:24 +08:00
    @jhdxr 你理解耗时的模块有几种情况?
    wcsjtu
        52
    wcsjtu  
       2017-12-20 19:40:29 +08:00
    @XIVN1987 python 最大的问题还是动态类型带来的负作用, 难以组织大项目,后期维护困难。 效率什么的,看你是什么需求了。单纯做 web 而言,python 效率的影响,根本不是关键所在。
    1314258
        53
    1314258  
       2017-12-20 19:57:07 +08:00 via iPhone
    管你们怎么说好和不好,我就只用 python 了。
    menc
        54
    menc  
       2017-12-20 20:01:21 +08:00
    @zachguo matlab 和 R,计算上都比 numpy 要好
    hsuan
        55
    hsuan  
       2017-12-20 20:08:04 +08:00 via Android
    @wcsjtu 现在可以声明类型了
    owenliang
        56
    owenliang  
       2017-12-20 20:48:51 +08:00 via Android
    python 最大的问题是出了个晦涩的 async io,在我看来傻 逼到不行。
    121121121
        57
    121121121  
       2017-12-20 20:52:56 +08:00 via Android
    python 适合非计算机人士简单编程使用,建模后计算机人士可以改成 c++或者 java
    Wicked
        58
    Wicked  
       2017-12-20 21:42:47 +08:00 via iPhone
    @XIVN1987 你怎么得出的数据? Pyhon 逻辑用 C++重写最多快 3 ~ 5 倍
    你说的情况,要么就是 python 乱写的,要么就是重度的计算密集型,后者本来就不应该用脚本来写
    workwonder
        59
    workwonder  
       2017-12-20 21:47:30 +08:00 via Android
    @owenliang asyncio 有什么问题?
    janxin
        60
    janxin  
       2017-12-20 22:09:44 +08:00
    @workwonder asyncio 抽象度太低,整体晦涩,包括一些异步与同步的混合写法都比较蛋疼
    PythonAnswer
        61
    PythonAnswer  
       2017-12-20 23:11:50 +08:00 via Android
    我用的包全部 3k 了,开心
    iyaozhen
        62
    iyaozhen  
       2017-12-21 00:39:58 +08:00
    @liverpool08 关键是 Python 没有大的改进,PHP7 那提升,直接给 PHP 续了几年,之后又要上 jit,又能续几年。

    Python 虽然也出了个 asyncio 但是太底层、晦涩了,很难用起来
    zachguo
        63
    zachguo  
    OP
       2017-12-21 01:44:46 +08:00 via Android
    @menc 很多年前我是靠这俩编程语言入门的哈,但是除了科学计算就废了 都不算普适性高的高层语言。
    lrxiao
        64
    lrxiao  
       2017-12-21 01:55:49 +08:00   1
    rogwan
        65
    rogwan  
       2017-12-21 07:55:29 +08:00 via Android
    项目老板不懂技术不码的,肯定是要选 PHP,JAVA 吧,万一跟换技术人员,项目还可以续命。用 Python 应该是项目 leader 自己带头会码的,求大干快上,挂了就算了,不想熬久才知道考不考铺。
    inflationaaron
        66
    inflationaaron  
       2017-12-21 11:59:31 +08:00 via iPhone
    @menc 何以见得呢?就速度而言 numpy 不输啊
    menc
        67
    menc  
       2017-12-21 14:21:02 +08:00
    @inflationaaron R 语言相当于内置了 numpy + pandas,只用 numpy 不用 pandas 的话,其实易用性还挺差的
    TesterCC
        68
    TesterCC  
       2017-12-21 17:26:36 +08:00
    Django 2.0 吧,机器学习那些包一年都在看各种推广,然而目前做的项目根本用不到啊!希望来年有人能给 Python 再多续续命
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1032 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 18:29 PVG 02:29 LAX 11:29 JFK 14:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86