谢邀!
回答楼主的问题Q:17年的Python教程是否已经落后了?
A:这个需要看一下教程里边提到的Python主要版本是多少,如果是Python2.6+ 或者3.x
,那么不仅不会落后,还能算得上是非常主流的开发版本。楼主您可以放心的好好学习了。
如果是2.6之前的版本,楼主就需要审慎的学习,本身的语法和库都有了很多变化;虽然说Python的主版本语法变化不太大,但是有很多第三方库会明确指出对某特定Python版本的要求,一般是Python2.7或者Python3为主流。
如何辨别和选择教程内容一般分为两种情况:
工作中用到的
自己学习钻研的
第一种情况,我们需要根据工作中实际使用的版本进行深入的学习,这样更有针对性,也能产生最大的效果
如何查看Python的版本呢?
登录生产环境,在命令行终端输入
python -V这个时候,系统会显示当前默认的Python版本,也许是这样的
因为我本地使用的MacOS,所以默认是Python2.7.x
但是有时候我会安装多个Python版本,此时我会使用另一个命令查看是否存在Python3.x
的版本
python3 -V我这里会显示这样
嗯,这样,您就可以确认生成环境中使用的是哪个版本了。这样在确认教程的时候心里就有数了。
第二种情况,自己钻研的话,我个人还是建议优先学习Python3.x
;因为Python3.x
才是目前的主流,还是可以预见的未来的趋势。
为什么这么说呢?
Python3的强大Python之所以如此强大,除了自身的设计,主要还是因为第三方库支持力度的强大。依托第三方库,Python在各个领域都可以一展身手。而且最重要的,主流的库已经完成了Python2.x
到Python3.x
的升级。
据《py3readiness.org》提供的报告称,目前主流的三方库已经完全支持Python3了;而且两者的结合使得这些功能更加的优秀。
以下图片数据来自:py3readiness.org
可以看到,目前主流的第三方库已经完全支持Python3了。
Python2.x
与Python3.x
的一些区别在这里,木辛老师列出几个特别明显的区别,仅供参考。
选择的标准是:
使用率非常高
变化非常大
适用范围特别广
用户喜爱程度特别高
1. print
调试的时候使用率最高的一个。在Python2.x
中是一条语句;而Python3.x
中则是一个函数。
# python2
print "欢迎访问木辛老师的编程课程"# python3
print ("欢迎访问木辛老师的编程课程")
2. 编码
Python2.x
的默认编码是ASCII,所以一般在文件的头部,我们会指定特定编码,比如:
#-*- coding : UTF-8 -*-Python3.x
则默认采用了UTF-8编码
3. 字符串
Python2.x
中字符有两种类型,Unicode和str 两者没有明显界限,开发的时候比较模糊;
Python3.x
中做了严格区分,str表示字符串, byte表示字节序列。
任何需要写入文本或者网络传输的数据只接受字节序列,从而从源头杜绝了编码问题。
4. True和False
Python2.x
中是两个全局变量,在数值上分别对应1和0,可以指向其他对象;
Python3.x
中更改为关键字,永远指向固定的两个对象。
还有其他的一些细节的修改。但是对于Python自己的整体性没有发生变化。
总结一下一言以蔽之,Python的大部分的知识是没有发生变化的,对于教程内容,只要版本不是太低,内容讲的优质,都是可以尝试去学习的。
在学习的时候,遇到问题,可以和作者讨论,共同进步。
当你把Python的内容过一遍之后,再仔细的甄别不同大版本之间的区别,就能更好的掌握Python,并能应用于生产。
希望我的回答能帮到您,如果存在错误请批评指正。
也希望您能关注《木辛老师带你玩转编程》的头条号,跟着木辛老师学编程,咱们大家一起学习和成长。
快乐编程,快乐成长!非常感谢~