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
sdjl
V2EX  ›  Python

Python2 已经很熟练了,想要学习 Python3,有没有专门的书籍或教程?

  •  
  •   sdjl · 61 天前 · 4069 次点击
    这是一个创建于 61 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我看好多 Python 的书籍都是把 Python 所有内容介绍一遍,没有找到一本专门介绍 Python 2 to 3 的书籍。

    如果没有书籍,网上的教程也可以,谢大家。

    30 条回复    2022-10-09 17:53:26 +08:00
    xunbug
        1
    xunbug  
       61 天前   ❤️ 22
    ? what? 但凡对 py2 很熟,就不会说出这句话
    liprais
        2
    liprais  
       61 天前
    学啥,你要做啥直接写不就完了
    liuxingdeyu
        3
    liuxingdeyu  
       61 天前
    熟练指什么程度
    cmdOptionKana
        4
    cmdOptionKana  
       61 天前
    使用 Pycharm, 直接打开 py2 代码,但 IDE 里改成用 py3 的解释器,然后根据 IDE 的提示修改即可。

    如果是新项目,就直接使用 py3 解释器,遇到问题一个个解决,没必要系统学习,偶尔看些新特性的文章就行。
    Evrins
        5
    Evrins  
       61 天前
    2to3 呀 python3 自带的
    renmu
        6
    renmu  
       61 天前 via Android
    熟练了直接写不就行了,都是一样的语法
    lithiumii
        7
    lithiumii  
       61 天前
    print xxx 改成 print(xxx) 就差不多了……
    Mayye
        8
    Mayye  
       61 天前
    @xunbug 确实是这样。。
    XIVN1987
        9
    XIVN1987  
       61 天前
    python3 不兼容 python2 ,主要是指的用 python2 语法编写的代码无法在 python3 解释器上执行,,而且还没有简单的方法移植,,其中最麻烦的就是字符串编码的问题
    但从学习、写新代码的角度看,,二者差异并不大,,
    Tiger511
        10
    Tiger511  
       61 天前
    Python 不需要学吧
    我是野路子,自学的 C/C++
    写自己的小项目,发现有些工作需要自动化生成源码,有些工作需要爬虫,有些远程部署 linux 系统 Shell 不统一
    掏出 Python ,一个月搞完
    Abbeyok
        11
    Abbeyok  
       61 天前
    2 转 3 唯一的不方便就是之前用 2 写项目,需要改动一些语法。如果没有历史遗留,那就直接转
    LindsayZhou
        12
    LindsayZhou  
       61 天前   ❤️ 1
    我觉得 python 2 和 3 之间还是有挺大区别的。2 的代码在 3 上跑起来简单,要学的内容是新增的语法和标准库的变动。

    比如说 yield from, asyncio, pathlib, enum, f-strings, 新增的乱七八糟的打包方式,诸如此类,python3 要变得“熟练”,这些也是必要的吧。在 python3 的各个版本号之间变动都挺大的。

    抱歉我一开始就学的 3 ,所以也没能有什么教程推荐的,只是回应一下楼上的说法
    em70
        13
    em70  
       61 天前
    环境和库重新安装一下,其他不需要学习
    HashV2
        14
    HashV2  
       61 天前
    我刚开始工作的时候就是 python2 python3 混用的,当时给我感觉除了 print 要加括号之外就没什么区别了。
    后面就知道很多,一个是写起来很爽的 f-string ,一个是很多列表都变成生成器了,性能会好一点,还有就是 asycn 和 await
    nightwitch
        15
    nightwitch  
       61 天前
    2to3 直接转完再调调,再 diff 一下就完事
    XIVN1987
        16
    XIVN1987  
       60 天前
    @LindsayZhou
    asyncio, pathlib, enum 都不是必须的,以前没有这些不也一样写代码,,学会 python 并不表示要把 python 的语法全都学会,只要能写出能工作的代码、能解决自己的问题即可

    f-strings 也不是必须的,,以前的 % 语法在 python3 中可以继续用,,只不过 f-string 确实更加直观,,很多人就改用 f-string 了
    janxin
        17
    janxin  
       60 天前
    新增语法基本上是增量学习,用到了学一下就好。基础库有一些区别,很多基础库可能要适应一下。其实最简单的方法就是把你的 py2 程序改成 py3 可用,一般来说改完就知道区别在哪了。单独看书也可以,但是收益不如直接改程序来的快。
    deplivesb
        18
    deplivesb  
       60 天前
    有多熟练?熟练了话就先吧所有的 print 改成 print()
    dayeye2006199
        19
    dayeye2006199  
       60 天前
    2022 年了。。为啥还有 py2... 2020 年之后就得不到更新了。。
    jtsr
        20
    jtsr  
       60 天前
    如果是个人开发者,直接用 3 的语法写的完事了。。如果是大型项目,那是需要考虑一下各类问题。
    webcape233
        21
    webcape233  
       60 天前 via iPhone
    我怀疑你用的 xp+ie6
    要是十年前发这帖子似乎合理
    xiaochun41
        22
    xiaochun41  
       60 天前
    这个不用看什么专门的书,可以看一下官方 Python2 到 Python3 的说明。新代码直接用 Python3 ,老的代码发现问题的时候再改就行了,等一段时间之后,就比较熟悉 Python3 的变化了。
    apake
        23
    apake  
       59 天前 via Android
    熟练的话不会问这样的问题。 只能说对语言的学习没入门。
    sdjl
        24
    sdjl  
    OP
       58 天前
    哇,这个帖子有这么多人回复~

    我的意思是,python3 有一些新的功能、特性、语法,这些 python2 没有。

    有没有地方可以很好的整理出来,系统性的学习一遍。
    xifoo
        25
    xifoo  
       58 天前 via Android
    直接《 effective python 》和《 fluent python 》,前者有很多 py3 的实用小 trick ,后者就相对深入了,会讲许多 python 的底层机制。前者直接看第二版,后者的第二版也快出来了但第一版也很值得看一看。
    sdjl
        26
    sdjl  
    OP
       56 天前
    @xifoo 谢谢

    我刚刚发现有 python3 的中文文档,也适合用于学习 https://docs.python.org/zh-cn/3/library/asyncio.html
    sdjl
        27
    sdjl  
    OP
       55 天前
    @xifoo 谢谢,你推荐的这两本书我都买了
    julyclyde
        28
    julyclyde  
       52 天前
    其实 2to3 已经没有多大意义了

    现在 pure3 才是重点
    sdjl
        29
    sdjl  
    OP
       51 天前
    @julyclyde 我现在就是 pure3
    wuwukai007
        30
    wuwukai007  
       51 天前
    python3 1/3 = 0.3333
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1180 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 22:18 · PVG 06:18 · LAX 14:18 · JFK 17:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.