#PY小贴士# py2 和 py3 的差别到底有多大?

简介: 虽然结论已经很明确,但我还是想客观地说一句:对于学习者来说,学 py2 还是 py3,真的没有太大差别。之所以这会成为一个问题

昨天的文章里也提到了:python 2 版本将在今年正式停止官方维护(具体时间上有不同说法,1月1号、4月、8月……但这个差别意义不大了)


从我开始做 Python 编程教学的工作开始,就始终在解答读者一个问题:我到底学 py2 还是 py3?


最早期我建议2,因为那时候3的教程少,有不少库也还没支持3;后来我建议跟着你的教材版本走;到近两年就直接回复不要考虑版本2了。

虽然结论已经很明确,但我还是想客观地说一句:对于学习者来说,学 py2 还是 py3,真的没有太大差别。之所以这会成为一个问题,主要原因在于:


  1. 在新手刚学习时就会接触到的输入输出 input 和 print 上,py3 就相较 py2 做了改动,以至于让很多没注意版本的学习者一上来就踩了大坑,进而以为两个版本有巨大差异。
  2. py3 的确不兼容 py2,而 Python 牵涉的第三方库又众多,这让很多程序员头疼,于是在网上大肆吐槽调侃版本间的问题,让不知内情的人望而生畏。

但实际上,Python 的版本问题主要是对于开发者来说的。而学习者一开始会遇到的问题,除了几个函数的使用方法不一样外,绝大部分的语法都是一致的。哪怕在停止更新 py2 的 2020 年,你照着一本 py2 的教程,安装上 2.7 的 Python,一样可以学会 Python 的使用。在之后转用 py3 进行开发,也只是分分钟的事情。

当你想学习一样东西时,前期的调研是很有必要的,但很多时候并不用过分纠结于所谓“最佳实践”,花一点点时间自己动动手试一试,或许只需要一个周末,你就会有比网上信息更清楚的认识。

附:如果你仍在使用 py2,可以公众号里回复关键字 2v3,了解初学者需要知道的版本差异。


#PY小贴士#里,我们会分享一些 python 知识点、开发中的小技巧、容易踩到的坑,以及学员遇到并在群里提到真实问题。篇幅尽量短小,适合碎片时间阅读,欢迎关注!

如果你在编程学习中有疑问,可选择以下方式向我们提问:

1. 加入码上行动答疑群(最及时响应)

2. 加入知识星球 https://t.zsxq.com/IiAiiQj

3. 发微博加上 #编程教室# @Crossin(非私信)

提问时请表述清楚,附上必要代码、输出等截屏。

也可向本栏目投稿,分享你开发中的经验。采纳后将署名发表,并可附上个人博客、公众号、Github等介绍。

相关文章
|
3天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
8 2
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
使用Cython库包对python的py文件(源码)进行加密,把python的.py文件生成.so文件并调用
本文介绍了在Linux系统(Ubuntu 18.04)下将Python源代码(`.py文件`)加密为`.so文件`的方法。首先安装必要的工具如`python3-dev`、`gcc`和`Cython`。然后通过`setup.py`脚本使用Cython将`.py文件`转化为`.so文件`,从而实现源代码的加密保护。文中详细描述了从编写源代码到生成及调用`.so文件`的具体步骤。此方法相较于转化为`.pyc文件`提供了更高的安全性。
114 2
|
3月前
|
开发者 Python
.py 和 .pyc 文件有什么区别?
【8月更文挑战第29天】
210 0
|
6月前
|
Python
Python 的其他主题:Python 中的 `__init__.py` 文件有什么作用?
Python 的其他主题:Python 中的 `__init__.py` 文件有什么作用?
73 1
|
12月前
|
Python
Python 关于模块的几点介绍 。和。。和__all__和__main___和__file__
用来定义我们导出的内容可以有哪些的一个编码方式
37 0
|
6月前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
58 0
|
测试技术 数据库连接 Python
conftest.py是什么?该怎么用?
conftest.py是什么?该怎么用?
210 0
#PY小贴士# 函数也是对象
这就要提到 Python 中的一个重要概念:万物皆对象。除了我们熟知的数字、字符、列表、字典是对象外,函数、模块,甚至类型本身,也是对象,只不过在功能和表现上会有所不同。
|
存储 搜索推荐 Java
preprocess_data.py代码解释
循环遍历每个用户,对于每个用户,提取其对电影的评分。 创建一个与所有电影数量相同的评分数组,将相应的评分放置在数组的正确位置。 如果该用户没有评分电影,则跳过该用户。 返回所有用户的评分数组列表。
231 0
|
数据采集 Shell 开发工具
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式
91 0
[oeasy]python0028_直接运行_修改py文件执行权限_设置py文件打开方式