直接学python3_初学者可以直接学Python3吗?
我是个喜欢尝鲜的人,所以机器上的JDK、GoLang都是最新的,反正PC也不是生产环境。最近重装机器,又正好看到Python 3.7的Alpha版本出来了,就下载了个最新的版本装上,结果悲剧了,pip安装TensorFlow死活不行。折腾小半天,还是乖乖地换回3.6.x,这是TensorFlow Python API所支持的最新版本。
Python 3.6.2
前些日子,跟两个兄弟聊天,突然奇想,打算做个MUD游戏来怀下旧。有个很不错的MUD的框架叫Evennia,是Python写的,而且是基于2.7的。我对机器的软件环境有一种近乎变态的要求,混乱的版本搞在一起当然不能接受,于是就用另一台笔记本安装了Python 2.7,用不同的电脑做不同的事。
大家都晓得,Python 2和3的差异很大,所以官方也还在同时维护2.7和3.x两套东西。这么多年过去了,Python社区做了很多2to3的兼容性工作,按理说不存在选择2还是3的问题了。但是有一些老顽固的人和老顽固的库还在坚守2.x,这就给初学者带来了困惑,到底该学哪一个。
对于初学者,我的建议当然是直接学Python 3,除非有明确的指征要求你必须用Python 2(比如我想做MUD的例子)。
Python 3和2在语法层面改进很大,所以源代码是不兼容的。Python 3是2008年发布的,至今10年了;Python 2的最后一个分支2.7是2010年中期发布的,此后就没有大的改动了。从性价比的角度,也应该选择学习Python 3,而不是花时间去鼓捣2.x。
从Python 3.3(2012年Release的)开始,所有对标准库的改进,都只在3.x版本中体现。这也表明了Python社区从2.x迁移到3.x的决心。Python官方网站上有一篇名叫《Should I use Python 2 or Python 3 in my development activity》的文章,有一句开宗明义的话:
Python 2.x is legacy, Python 3.x is the present and future of the language
作为初学者,是愿意跟一个前朝遗老玩呢,还是愿意跟进Python的现状及未来?
最让人担心的,其实是第三方库和框架,有的还在继续用Python 2.x。我翻了一下github上的一些项目,发现但凡还停留在2.x的,基本处于没人维护的状态。大多数广泛使用的库,都已经兼容Python 3了。Python官网上列出了一些,包括机器学习中最常用的数值计算库Numpy和SciPy,机器视觉常用的OpenCV 3, HTTP库Request,XML PARSER库lxml,WEB框架Django.....关于3和2的兼容性,pythonhosted上有篇文章《Six: Python 2 and 3 Compatibility Library》讲得非常详细,大家可以参考。
最新的Release::Python 3.6.4
可能也会有高手告诉新手,语法层面的差别不算事儿,Py2和Py3没有区别,编程思想数据结构算法才是核心吧啦吧啦,但是我觉得手锯和电锯还是有区别的。Python作为一门如日中天的动态语言,在不断进化,语法改进的背后,也就是“编程思想”的改进。PL作为一个艰深的计算机科学分支,语法演化的背后是有深刻的思想性的东西的,轻视语法及其语义是不对的。
我的一个朋友遵循最新的C# Spec写了一个软件,然后告诉我说:这代表了我2017年的编程水准(他从1988年开始编程)。我看了看,好多我没见过的东西。虽然前几年我也用C#写过一款赖以谋生的软件产品,但编程方式还比较古老一点,没有深入了解C#语言的最新发展,换言之,也没有了解C#的最新的编程思想。
新的一年里,如果想学一门新的手艺,就学Python 3吧。
直接学python3_初学者可以直接学Python3吗?相关推荐
- python3学哪个版本好玩_python2和python3到底应该学哪个好?
许多刚入门 Python 的朋友都在纠结的的问题是:我应该选择学习 python2 还是 python3,Python 3.7 已经发布了,目前Python的用户,主要使用的版本 应该是 Python ...
- 新手学java还是python知乎_编程初学者应该先学C++、Java还是Python?
最近,看到这样的一个话题:"打算自学编程,但是不知道该先学哪门语言入门?编程初学者应该先学C++.Java还是Python?",作为一个新手,应该学什么语言入门比较好呢?相信这是困 ...
- python容易学ma_初学者学python 初学者学python好学吗
初学者学python 初学者学python好学吗 初学者学python好学吗?Python是最容易入门的编程语言,没有之一.如果初学者接触的第一门语言是C或者C++,对他们来说最难的不是语法,而是容易 ...
- 舞蹈测试软件,中舞网评测:一款学舞初学者必备的舞蹈APP
舞蹈APP,学舞初学者必备 今天给大家推荐一款学舞初学者必备的舞蹈APP,简单,易上手.快则一周,慢则三十天,让你轻松学会一支舞. 那如何使用中舞网APP快速学会一支舞呢?接下来就由小编为大家详解. ...
- 谈谈初学者该怎么学电脑
十五年前,一说电脑,就感觉是很高科技的东西,那时候一般只有计算机专业和相关行业的人才能够接触.随着信息和科技的发展,电脑已经渗入到各个行业和家庭,电脑不仅广泛用于各种工作,还普及到了家庭娱乐中.因此, ...
- 编程初学者应该先学C++、Java还是Python?
语言推荐: 第一大类语言包括Java.C.Python和C++. 这类语言都是非常通用的语言,它们并不局限于特定的编程平台或用途.(无疑问,你应该熟悉这四种语言.) 第二大类语言包括Java.C#.P ...
- 学python有什么好处 学完可以做什么
近几年来,python在国内越来越火,越来越多的人开始学习python,学完python以后不仅仅是有了更多的就业机会,而且薪资也会越来越高. 学python可以做什么 学python可以做web开发 ...
- 从零开始学电脑办公_每天学一点 7天学会使用电脑办公操作
在学习前,可能 有人会问:现在都是用手机比较多,还学电脑 有什么用! 试问一下 做自媒体.编程.设计.玩大型游戏.办公 哪样 离得开电脑,手机在娱乐方面比较方便,拿来工作 那还是电脑更加实用方便! 而 ...
- 湘潭哪里学计算机编程,湘潭哪里学机器人编程?湘潭学机器人编程的学校有哪些?...
原标题:湘潭哪里学机器人编程?湘潭学机器人编程的学校有哪些? 随着机器人编程教育在一线城市的大众化,许多家长也纷纷跟随着趋势送孩子去学习,如果你也想要自己的孩子学习机器人编程,那就一起来看看学习机器人 ...
- 外行学计算机,《新手无忧学电脑:外行入门学电脑(2008至尊经典版)》低价购书_计算机与互联网_孔网...
<新手无忧学电脑:外行入门学电脑(2008至尊经典版)>以全新思路讲解了电脑基础知识及综合应用技能,详细剖析了外行对电脑一窍不通到能熟练操作电脑的全过程,是一本为电脑初学者量身打造的入门级 ...
最新文章
- asp.net 生成下载word的两种方式
- LaTeX 图片插入
- css,css,javascript实现一个简单的计算器
- 使用delphi 开发多层应用(十二)使用kbmMW webserver 返回JSON
- opencv进阶学习笔记8:模板匹配
- docker pull命令入门
- ES6学习笔记一:let、const、块级作用域
- java+mysql企业进销存管理系统
- 【freeradius】使用radclient调试radius协议
- Linux mysql 主从 配置
- java font 字体大小_java的字体的颜色,型号,大小的方法
- 使用Git上传本地项目到GitHub
- win10无敌隐身术
- 【Windows7】win7启动 报错 AutoIt错误,不能打开脚本文件
- json和jsonb类型——PostgreSQL
- 【Arduino实验10 数码管显示】
- 数据库连接池 ( 二 ) 连接池概念
- apache atlas
- 基于单片机的农业大棚
- 登陆页面总结(bootdo)