我 TM 脑子进水了才安装 Python 3,大部分时间都在修改语法错误 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX    程序员

我 TM 脑子进水了才安装 Python 3,大部分时间都在修改语法错误

  •  
  •   Reign 2018-06-19 22:11:03 +08:00 6687 次点击
    这是一个创建于 2705 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Python 果然是世界上最好的两种语言,准备从 PHP 过渡到 Python,脑子一抽,安装了 Python3,本来深感 Python 语法简单,读一遍就能看懂什么意思,GitHub 上找了很多项目自己来测试研究代码,结果一运行,一堆报错,全是 Python2 过渡到 Python3 的语法错误,我又得一个一个逐个搜索该怎么修正错误,大部分时间都去修正这些毫无任何意义的错误了

    希望 Python4 把前面的语法全部推翻重来,然后 5 继续推翻 4,6 推翻 5,一步一步过河拆桥,最终形成一个老用户恶心,新用户排斥的小众语言,最终唯我 PHP 继续当全世界最好的语言

    拒绝 Python3,从我做起,功在当代,利在千秋

    70 条回复    2018-06-21 12:18:48 +08:00
    IceCola1
        1
    IceCola1  
       2018-06-19 22:37:25 +08:00   2
    这是你自己的问题吧,用 python3 来跑 python2,还怪 bug 多,本身就是两个版本。
    undertonememorie
        2
    undertonememorie  
       2018-06-19 22:47:51 +08:00   5
    1,python 就两个大版本,2 和 3 3 在 2 的基础上重构了,并且 2 只维护到 2020 年,所以你学 3 是没问题的
    2,如果你连基本的版本都区分不了就在这抱怨,我建议你固步自封,回归到你的 php 大法好,ps:python3 自带 2to3.py,自动将 2 转化成 3。
    Tyanboot
        3
    Tyanboot  
    PRO
       2018-06-19 22:54:33 +08:00
    你怎么不说 PHP7 出来的时候一开始也一堆不兼容以前的 5.x 代码.
    Kilerd
        4
    Kilerd  
       2018-06-19 23:28:33 +08:00   7
    > Python 果然是世界上最好的两种语言

    Python 的做法没毛病,有毛病的是不断的兼容旧版本,导致历史包袱太重,做不出比较好的革新。 你怎么不说 Swift,怎么不说你家最好的 PHP。
    再看看历史包袱很重的 CPP 还有你家的 PHP。 现在都多少年了,变量还要用个$来标示。

    > 「准备从 PHP 过渡到 Python 」 「全是 Python2 过渡到 Python3 的语法错误,我又得一个一个逐个搜索该怎么修正错误」

    弱鸡就老老实实一步一步把教程看完。入门连怎么分辨项目的版本都不懂怎么行。 要不然就去看「怎么 PY2 改写 PY3 」的文章,几个宏,或者一个简单的脚本就能解决大部分语法层面的问题。逻辑问题还是要自己去看


    > 拒绝 Python3,从我做起,功在当代,利在千秋

    很高兴你没能成功学 Python
    pushy
        5
    pushy  
       2018-06-19 23:59:10 +08:00 via iPhone
    奇怪咦

    人家兼容 py2 的代码你非要用 py3 跑,这不是给自己找麻烦嘛,你装个 py2 不就好了。

    相应的 php5 兼容的程序,php7 也未必能跑。
    比如说 mcrypt 扩展移除、mysql_ 系函数移除等等。

    这有什么好喷的。
    lolizeppelin
        6
    lolizeppelin  
       2018-06-20 00:11:52 +08:00 via Android
    Python2 死不了的锅主要在红帽等主流服务器发行版上

    等红帽升级 rhel8 了 Python2 就有机会死了
    param
        7
    param  
       2018-06-20 00:13:41 +08:00 via Android
    功在当代,利在千秋。。。你喜欢有 50 年 py2 没人阻拦你
    param
        8
    param  
       2018-06-20 00:14:20 +08:00 via Android
    功在当代,利在千秋。。。你喜欢用 50 年 py2 没人阻拦你
    Rufeer
        9
    Rufeer  
       2018-06-20 00:21:36 +08:00 via iPhone
    哇老哥你这都不了解一下的么 随便找个教程都有说明 23 不兼容 你还用 3 跑 2 代码 你要是真要跑就装个 python2 啊 改也不需要自己改啊有转换工具的 python 90 年代出来的 现在的升级是为了抛掉些历史包袱 也就这两个版本要注意的
    matrix273
        10
    matrix273  
       2018-06-20 00:24:53 +08:00 via Android
    先学 Python3 再学 Python2,碰到中文想爆粗。
    thread2
        11
    thread2  
       2018-06-20 00:24:56 +08:00
    楼主你说 Python,可以,但最好不要暴露出你来自 PHP,这样连累了 PHP
    ipwx
        12
    ipwx  
       2018-06-20 00:39:11 +08:00 via iPhone   2
    我和楼上喷楼主的姿势不一样:楼主你都找的什么野鸡代码学习研究,现在 Python23 兼容的库和代码一抓一大把,Python3 新特性的代码也不少。你什么关键词才搜到了只在 2 下运行的老代码呀?
    YvesX
        13
    YvesX  
       2018-06-20 00:46:38 +08:00
    我觉得楼主在钓鱼
    Muninn
        14
    Muninn  
       2018-06-20 00:48:12 +08:00
    无力吐槽
    wnh3yang
        15
    wnh3yang  
       2018-06-20 05:39:19 +08:00 via Android
    你很牛 X
    PythonAnswer
        16
    PythonAnswer  
       2018-06-20 06:20:39 +08:00 via iPhone
    楼主,你做的不是修正语法错误,我们叫它 2to3
    kokutou
        17
    kokutou  
       2018-06-20 07:26:24 +08:00 via Android
    2to3 了解一下。。。
    mseasons
        18
    mseasons  
       2018-06-20 07:52:47 +08:00
    是脑子进水了
    wuhau
        19
    wuhau  
       2018-06-20 07:59:18 +08:00 via iPhone
    楼上阅读理解都不过关,这题要抓住题目主干"最终唯我 PHP 继续当全世界最好的语言"
    日常吹 PHP [1/1]
    日常 Python [1/1]
    zjsxwc
        20
    zjsxwc  
       2018-06-20 08:30:48 +08:00
    程序员写个把 python 2 转换为 python 3 的脚本很简单啊,人肉改才会累,也就那么几种区别。
    nooper
        21
    nooper  
       2018-06-20 08:35:56 +08:00
    ...浪费时间。
    anotherlf
        22
    anotherlf  
       2018-06-20 08:38:19 +08:00 via Android
    入门用 2,搞懂后用 3。学习就是这样,从研究原型开始,沿着进化路线直到最新版本。最新版往往教程少,特性多,看着看着就晕了。
    sinoairlc
        23
    sinoairlc  
       2018-06-20 08:38:53 +08:00
    真正的高手都用 Ruby 的吧,,,只是为了喷而喷,这。。。
    agagega
        24
    agagega  
       2018-06-20 08:40:58 +08:00
    Ruby 程序员想说改不了就直接 Python2,不然就自己写 Python3,都 2018 年了,Python2 都要被淘汰了
    lepig
        25
    lepig  
       2018-06-20 08:47:13 +08:00
    好吧 送楼主 5 枚金币
    k9982874
        26
    k9982874  
       2018-06-20 08:49:37 +08:00
    买了不甜的橘子,回去把卖橙子的骂了一顿
    lihongjie0209
        27
    lihongjie0209  
       2018-06-20 08:54:03 +08:00
    @lolizeppelin #6 想多了, 已经跑在 rh7 上的系统只要存在一天, python2 就还得继续用. rh 升级不代表大家所有的服务器都升级
    gimp
        28
    gimp  
       2018-06-20 08:55:54 +08:00   7
    楼主的观点也有在理的地方, 比如“我 TM 脑子进水了”....
    aaronzjw
        29
    aaronzjw  
       2018-06-20 09:00:45 +08:00
    python3 特性了解一下,我都不想用 py2
    jinyu121
        30
    jinyu121  
       2018-06-20 09:01:54 +08:00
    Python3 和 Python2 是两个语言(有转换脚本)
    PHP7 不完全兼容 PHP5 (好像去掉了 mysql 相关的啥东西,反正不能直接跑)
    Java 好像有一个东西叫做 Java3 ?反正是某个版本大改了一下然后成了一个新的语言

    SQL 分 MySQL 和 MSSQL
    Markdown 分标准 Markdown、Github Markdown

    形变,心不变。


    如果一直怀旧的话,世界还要不要发展了呢?
    Xxss
        31
    Xxss  
       2018-06-20 09:03:44 +08:00
    对啊,你的脑子是进水了
    dobelee
        32
    dobelee  
       2018-06-20 09:04:47 +08:00 via Android
    @Kilerd 变量用$没毛病。其他都同意。
    SimbaPeng
        33
    SimbaPeng  
       2018-06-20 09:05:30 +08:00 via Android   2
    我真服了你们,居然还试图和他讲道理???
    renyijiu
        34
    renyijiu  
       2018-06-20 09:06:04 +08:00
    说的对,PHP 是最好的,我用 Python3
    shangfabao
        35
    shangfabao  
       2018-06-20 09:06:43 +08:00
    mysql5.7 group by 语法表示颤抖
    RealLiuSha
        36
    RealLiuSha  
       2018-06-20 09:06:46 +08:00 via Android   1
    楼主的观点也有在理的地方,比如"我脑子进水了……"
    ackfin01
        37
    ackfin01  
       2018-06-20 09:13:48 +08:00
    @lgpqdwjh 你不是人造革,你是真的皮
    yanaraika
        38
    yanaraika  
       2018-06-20 09:20:05 +08:00 via Android
    又黑 PHP
    XIVN1987
        39
    XIVN1987  
       2018-06-20 09:31:03 +08:00
    其实可以 Python2、Python3 同时安装,,新的程序用 Python3 写,,那些老的 Python2 的程序就用 Python2 跑就行,,
    ytmsdy
        40
    ytmsdy  
       2018-06-20 09:31:20 +08:00
    python2 写多了,你就知道他的中文字符串处理有多么的痛苦了!每次都是 encode,decode 的猜。
    LoliconInside
        41
    LoliconInside  
       2018-06-20 09:45:10 +08:00 via Android
    自己水平不行怪语言系列 V2 水平真是越来越低了
    CSM
        42
    CSM  
       2018-06-20 09:45:49 +08:00 via Android
    Tim Peters: 要不这样吧,如果编程语言里有个地方你弄不明白,而正好又有个人用了这个功能,那就开枪把他打死,这比学习新特性要容易些,然后过不了多久,那些活下来的程序员就会开始用 0.9.6 版的 Python,而且他们只需要使用这个版本中易于理解的一小部分就好了。
    misaka19000
        43
    misaka19000  
       2018-06-20 09:47:31 +08:00 via Android
    求求你们不要再黑 PHP 程序员了,这明显是楼主水平不行,关 PHP 啥事
    20015jjw
        44
    20015jjw  
       2018-06-20 09:48:09 +08:00 via iPad   1
    的确脑子进水了
    dcsite
        45
    dcsite  
       2018-06-20 09:50:21 +08:00
    楼主是个 PHP 程序员。呵呵
    slince
        46
    slince  
       2018-06-20 09:53:13 +08:00
    @undertonememorie php7.1 以及以下百分百兼容 php5 语法; 7.2 移除了版本废除代码;
    whoami9894
        47
    whoami9894  
       2018-06-20 09:56:44 +08:00 via Android
    @sinoairlc
    怎么又把 rb 扯进来了。。。
    zpf124
        48
    zpf124  
       2018-06-20 09:58:25 +08:00
    楼主应该用 win7 搭配 py2 + flash。

    抵制新方案新技术 从你做起。
    nosay
        49
    nosay  
       2018-06-20 10:01:42 +08:00
    楼主,我就问一句,黑 php 有高潮吗?现在爽上天了吧
    SuT2i
        50
    SuT2i  
       2018-06-20 10:06:45 +08:00
    就不能卸载 3 装回 2 吗 看个 print 都能知道哪个是 2 哪个是 3
    fourstring
        51
    fourstring  
       2018-06-20 10:06:53 +08:00
    醒醒 现在 2018 年了……
    jyf
        52
    jyf  
       2018-06-20 10:09:14 +08:00
    1, 有工具可以自动转换的
    2, php 呵呵
    whypool
        53
    whypool  
       2018-06-20 10:10:40 +08:00
    看来脑子是真的进水了
    dorothyREN
        54
    dorothyREN  
       2018-06-20 10:11:31 +08:00
    @fourstring 现在不是 8102 年吗
    jatesun
        55
    jatesun  
       2018-06-20 10:16:06 +08:00
    什么?大清亡了???
    lzvezr
        56
    lzvezr  
       2018-06-20 10:16:31 +08:00 via iPhone
    其实挺佩服 py3 的,敢推到重来也是勇气
    tamlok
        57
    tamlok  
       2018-06-20 10:17:28 +08:00 via Android
    好好说话嘛
    fourstring
        58
    fourstring  
       2018-06-20 10:17:35 +08:00
    @dorothyREN #54 8102 年是什么梗?
    chu8129
        59
    chu8129  
       2018-06-20 10:17:44 +08:00
    评论好激动~~~,个人表示服务器还要好多年才能升 3,两年前见过某行业的服务器 2.4。。。个人建议,用 2 写的尽量用 2 跑,等有要求上 3,用工具转换一波再修;
    chu8129
        60
    chu8129  
       2018-06-20 10:19:09 +08:00
    另外,建议深思后再转 py,入门容易遇坑更容易;
    zpf124
        61
    zpf124  
       2018-06-20 11:10:41 +08:00
    虽然我不会 python,
    但其实我觉得 py 的选择是正确的,它和 js 正好是两个极端。

    所有 开发迅速,语法约束简单的语言 尤其是脚本语言 很容易有很多奇奇怪怪的不符合直觉但能用的写法。

    最终攒到一定程度
    要么像 py,把有歧义模糊的不合理的地方都修正了再发一版全新的版本。
    要么像 js,兼容到底,那些反直觉的不是 bug,而是 feature,为了兼容这些 feature 搞出来个 js 相等表格。
    Kilerd
        62
    Kilerd  
       2018-06-20 12:30:47 +08:00
    @dobelee 从编译原理的层面上讲, 用「$」来做变量起始符,可以降低写解释器的难度。或者理解成作者在这方面偷懒了。那么问题就在于历史包袱这个问题上了。
    rebeccaMyKid
        63
    rebeccaMyKid  
       2018-06-20 12:54:11 +08:00
    python3 的改进进步了好多好吧。python2 有些东西都能恶心死你了。
    sinoairlc
        64
    sinoairlc  
       2018-06-20 13:32:02 +08:00
    @whoami9894 因为我认识的大佬用 RB,从此惊为天人
    yylucifer
        65
    yylucifer  
       2018-06-20 14:39:25 +08:00
    日常吹 PHP [1/1]
    日常黑 Python [1/1]

    今日全部任务已完成!
    zealinux
        66
    zealinux  
       2018-06-20 16:18:57 +08:00
    @Reign Py2 和 Py3 其实是两种语言,虽然名字很像。
    ben1024
        67
    ben1024  
       2018-06-20 17:28:06 +08:00
    PHP 和 Python 同是脚本语言设计思想有很多不一样,不能用理解 PHP 的想法去开发 Python
    wuwenzhx
        68
    wuwenzhx  
       2018-06-20 18:52:11 +08:00
    一个环境可以装多个 python 版本,指定 python 解释器就好了,暴露了楼主 python 水平......
    Zzdex
        69
    Zzdex  
       2018-06-20 20:53:59 +08:00
    这就是你直接喷的理由?
    xschaoya
        70
    xschaoya  
       2018-06-21 12:18:48 +08:00 via Android
    pyenv 了解一下
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2635 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 07:46 PVG 15:46 LAX 23:46 JFK 02:46
    Do have faith in what you're doing.
    ubao msn 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