
我看好多 Python 的书籍都是把 Python 所有内容介绍一遍,没有找到一本专门介绍 Python 2 to 3 的书籍。
如果没有书籍,网上的教程也可以,谢大家。
1 hahaba 2022-09-29 19:50:34 +08:00 ? what? 但凡对 py2 很熟,就不会说出这句话 |
2 F281M6Dh8DXpD1g2 2022-09-29 19:53:51 +08:00 学啥,你要做啥直接写不就完了 |
3 liuxingdeyu 2022-09-29 20:00:05 +08:00 熟练指什么程度 |
4 cmdOptionKana 2022-09-29 20:05:10 +08:00 使用 Pycharm, 直接打开 py2 代码,但 IDE 里改成用 py3 的解释器,然后根据 IDE 的提示修改即可。 如果是新项目,就直接使用 py3 解释器,遇到问题一个个解决,没必要系统学习,偶尔看些新特性的文章就行。 |
5 Evrins 2022-09-29 20:50:48 +08:00 2to3 呀 python3 自带的 |
6 renmu 2022-09-29 22:27:31 +08:00 via Android 熟练了直接写不就行了,都是一样的语法 |
7 lithiumii 2022-09-29 22:30:22 +08:00 print xxx 改成 print(xxx) 就差不多了…… |
9 XIVN1987 2022-09-29 22:53:29 +08:00 python3 不兼容 python2 ,主要是指的用 python2 语法编写的代码无法在 python3 解释器上执行,,而且还没有简单的方法移植,,其中最麻烦的就是字符串编码的问题 但从学习、写新代码的角度看,,二者差异并不大,, |
10 Tiger511 2022-09-29 23:10:20 +08:00 Python 不需要学吧 我是野路子,自学的 C/C++ 写自己的小项目,发现有些工作需要自动化生成源码,有些工作需要爬虫,有些远程部署 linux 系统 Shell 不统一 掏出 Python ,一个月搞完 |
11 Ct5T66PVR1bW7b2z 2022-09-29 23:21:33 +08:00 2 转 3 唯一的不方便就是之前用 2 写项目,需要改动一些语法。如果没有历史遗留,那就直接转 |
12 LindsayZhou 2022-09-29 23:27:23 +08:00 我觉得 python 2 和 3 之间还是有挺大区别的。2 的代码在 3 上跑起来简单,要学的内容是新增的语法和标准库的变动。 比如说 yield from, asyncio, pathlib, enum, f-strings, 新增的乱七八糟的打包方式,诸如此类,python3 要变得“熟练”,这些也是必要的吧。在 python3 的各个版本号之间变动都挺大的。 抱歉我一开始就学的 3 ,所以也没能有什么教程推荐的,只是回应一下楼上的说法 |
13 em70 2022-09-29 23:35:17 +08:00 环境和库重新安装一下,其他不需要学习 |
14 HashV2 2022-09-29 23:36:46 +08:00 我刚开始工作的时候就是 python2 python3 混用的,当时给我感觉除了 print 要加括号之外就没什么区别了。 后面就知道很多,一个是写起来很爽的 f-string ,一个是很多列表都变成生成器了,性能会好一点,还有就是 asycn 和 await |
15 nightwitch 2022-09-29 23:42:10 +08:00 2to3 直接转完再调调,再 diff 一下就完事 |
16 XIVN1987 2022-09-30 07:12:08 +08:00 @LindsayZhou asyncio, pathlib, enum 都不是必须的,以前没有这些不也一样写代码,,学会 python 并不表示要把 python 的语法全都学会,只要能写出能工作的代码、能解决自己的问题即可 f-strings 也不是必须的,,以前的 % 语法在 python3 中可以继续用,,只不过 f-string 确实更加直观,,很多人就改用 f-string 了 |
17 janxin 2022-09-30 08:38:50 +08:00 新增语法基本上是增量学习,用到了学一下就好。基础库有一些区别,很多基础库可能要适应一下。其实最简单的方法就是把你的 py2 程序改成 py3 可用,一般来说改完就知道区别在哪了。单独看书也可以,但是收益不如直接改程序来的快。 |
18 deplivesb 2022-09-30 11:55:37 +08:00 有多熟练?熟练了话就先吧所有的 print 改成 print() |
19 dayeye2006199 2022-09-30 14:22:19 +08:00 2022 年了。。为啥还有 py2... 2020 年之后就得不到更新了。。 |
20 jtsr 2022-09-30 15:29:39 +08:00 如果是个人开发者,直接用 3 的语法写的完事了。。如果是大型项目,那是需要考虑一下各类问题。 |
21 webcape233 2022-09-30 18:27:41 +08:00 via iPhone 我怀疑你用的 xp+ie6 要是十年前发这帖子似乎合理 |
22 xiaochun41 2022-09-30 19:04:14 +08:00 这个不用看什么专门的书,可以看一下官方 Python2 到 Python3 的说明。新代码直接用 Python3 ,老的代码发现问题的时候再改就行了,等一段时间之后,就比较熟悉 Python3 的变化了。 |
23 apake 2022-10-01 21:28:50 +08:00 via Android 熟练的话不会问这样的问题。 只能说对语言的学习没入门。 |
24 sdjl OP 哇,这个帖子有这么多人回复~ 我的意思是,python3 有一些新的功能、特性、语法,这些 python2 没有。 有没有地方可以很好的整理出来,系统性的学习一遍。 |
25 xifoo 2022-10-02 21:55:48 +08:00 via Android 直接《 effective python 》和《 fluent python 》,前者有很多 py3 的实用小 trick ,后者就相对深入了,会讲许多 python 的底层机制。前者直接看第二版,后者的第二版也快出来了但第一版也很值得看一看。 |
26 sdjl OP |
28 julyclyde 2022-10-08 11:36:56 +08:00 其实 2to3 已经没有多大意义了 现在 pure3 才是重点 |
30 wuwukai007 2022-10-09 17:53:26 +08:00 python3 1/3 = 0.3333 |