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

2022-09-29 19:26:49 +08:00
 sdjl

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

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

4947 次点击
所在节点    Python
30 条回复
hahaba
2022-09-29 19:50:34 +08:00
? what? 但凡对 py2 很熟,就不会说出这句话
liprais
2022-09-29 19:53:51 +08:00
学啥,你要做啥直接写不就完了
liuxingdeyu
2022-09-29 20:00:05 +08:00
熟练指什么程度
cmdOptionKana
2022-09-29 20:05:10 +08:00
使用 Pycharm, 直接打开 py2 代码,但 IDE 里改成用 py3 的解释器,然后根据 IDE 的提示修改即可。

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

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

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

f-strings 也不是必须的,,以前的 % 语法在 python3 中可以继续用,,只不过 f-string 确实更加直观,,很多人就改用 f-string 了
janxin
2022-09-30 08:38:50 +08:00
新增语法基本上是增量学习,用到了学一下就好。基础库有一些区别,很多基础库可能要适应一下。其实最简单的方法就是把你的 py2 程序改成 py3 可用,一般来说改完就知道区别在哪了。单独看书也可以,但是收益不如直接改程序来的快。
deplivesb
2022-09-30 11:55:37 +08:00
有多熟练?熟练了话就先吧所有的 print 改成 print()
dayeye2006199
2022-09-30 14:22:19 +08:00
2022 年了。。为啥还有 py2... 2020 年之后就得不到更新了。。
jtsr
2022-09-30 15:29:39 +08:00
如果是个人开发者,直接用 3 的语法写的完事了。。如果是大型项目,那是需要考虑一下各类问题。

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

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

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

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

© 2021 V2EX