我看好多 Python 的书籍都是把 Python 所有内容介绍一遍,没有找到一本专门介绍 Python 2 to 3 的书籍。
如果没有书籍,网上的教程也可以,谢大家。
1
hahaba 2022-09-29 19:50:34 +08:00 22
? what? 但凡对 py2 很熟,就不会说出这句话
|
2
liprais 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
Abbeyok 2022-09-29 23:21:33 +08:00
2 转 3 唯一的不方便就是之前用 2 写项目,需要改动一些语法。如果没有历史遗留,那就直接转
|
12
LindsayZhou 2022-09-29 23:27:23 +08:00 1
我觉得 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
|