首页 >

你看好Python3吗? |micropython 连接wifi

python 报文,python socket 通讯,python语言输入,什么是python模程序,mirrors python,unofficial python,python url hostname,python异步探测,python xpath 语法,Python基础小结,micropython 连接wifi你看好Python3吗? |micropython 连接wifi

初学python的人在选择python版本的时候或许都会存在一些疑惑,到底选python2还是python3呢?或者更精确的说,是python2.7还是3.3呢(这两个版本是目前的主流)?这两个版本有什么不同?最近一段时间偶在谷歌和so上看了很多人的观点,特地来总结一下,或许能解答此时此刻你心中的疑惑。

维基百科在python2.7和3.3这两个版本的不同上给出了非常详细的解答。用这两个版本都各有好处,这取决于你想要得到什么。但是,总体来说“python2.xislegacy,python3.xisthepresentandfutureofthelanguage”

关于最主要的区别,或者说最明显的区别,就是print函数了,在py2中,大家直接可以print“helloworld!”,但是在py3中的语法是print(“helloworld!”)。

另外,py2有更好的库函数的支持,很多库只支持py2而不支持py3。所以这是选择python2的一个非常强大的优势。

但是许多人,包括许多python的开发者都是坚定不移的py3支持者,archlinux也采用py3为默认版本。为什么呢?因为python3才是符合未来潮流的版本,越来越多的新特性只会支持py3,这样就显得py2有点停滞不前。py3才是未来的主流。

那么说了这么多,作为一个初学者,抑或是一个开发者,怎样选择python的版本呢?偶觉得so上的一个回答说得非常好:

“python3isanicerandmoreconsistentlanguage,but,thereisverylimitedthird-partymodulesupportforit.thisislikelytobetrueforatleastacoupleofyearsmore.so,allmajorframeworksstillrunonpython2,andwillcontinuetodosoforasignificanttime.therefore,ifyoulearnpythontoday,youshouldlearnpython2,becausethatistheversionyouaregoingtoendupactuallyusing.”

翻译:“python3是一个更棒更持久的语言,但是,支持它的第三方库很有限。这种情况很可能在未来的几年一直持续下去。所以,几乎所有的框架在现在以及未来的一段时间内都会在py2上运行。因此如果你是一个初学者,那么你应该学python2,因为那才是你最终要用的。”

虽然这个人给出了选择py2的答案,但是最终的决定权还是在你手中,毕竟这是一个没有定论的答案。

3.0肯定没人用的,现在的3.x的最新release已经是3.2了http://python.org/download/releases/3.2/偶个人可能会等到3.3正式release开始尝试使用python3.x进入production至少也要等到常用的库都支持python3.x之后不存在看好不看好的问题,3是大势所趋,不过主流的库都还不支持3。等django,mysqldb都支持了,用3的时代也就到来了。反正2.7是2.x的最后一个版本。这和看好不看好有什么关系?python3的不向下兼容是python发展的扬弃的结果。非常决绝有力的决定,给python注入了更强的生命力。考古队挖的一手好坟==如果是当时提问的时间点的话(2011-03-23),偶对python3持悲观态度,因为那时候的python3版本是3.2,最最蛋疼的是unicode的u前缀字符串在python3是syntaxerror,偶知道这些小事可以在2to3中自动修复,但是相当多的人,至少包括偶和sqlalchemy的作者,都非常不喜欢2to3,偶是认为2to3干涉了偶对代码的控制,出了问题还要看是偶的问题还是2to3自己的问题,单元测试加上2to3什么的麻烦死了,而且在最近的sqlalchemy0.9的what’snew中相当高调的提到了targetingpython2.6andupnow,python3without2to3what’snewinsqlalchemy0.9?这一点的顺序甚至高于更有实质意义的cextensionssupportedonpython3,当然你也可以理解为重要的是2.6+这一点第二蛋疼的是python2.7几乎有所有的python3.0~3.2的新功能的backport,这样你让偶有什么动力去用python3呢?而且当时n多库不相容,尤其是paramiko,到现在还不相容,又不像mysqldb有替代-_-|||,上层的fabric也被牵连不过3.3之后非常不同了,首先最最蛋疼的u””的syntaxerror没有了,然后终于有新特性了有木有,generatordelegation功能让偶流口水( ̄﹁ ̄),当然纯粹给generator用有点大才小用,果不其然,3.4(现在还在rc阶段)的asyncio就用的是这种新语法( ̄﹁ ̄)失态了。。。在3.3发布后偶才终于有动力修改偶的代码,准备python3的相容性等待迁移,当然。。。虽然unittest都过了还是要观望一下-_-


你看好Python3吗? |micropython 连接wifi
  • Python代码自定义(如何用Python自定义代码实现) |python 统计网卡流量
  • Python代码自定义(如何用Python自定义代码实现) |python 统计网卡流量 | Python代码自定义(如何用Python自定义代码实现) |python 统计网卡流量 ...

    你看好Python3吗? |micropython 连接wifi
  • 用Python打造高效影院系统(详细教程带你从零开始) |python 数组最大值的位置
  • 用Python打造高效影院系统(详细教程带你从零开始) |python 数组最大值的位置 | 用Python打造高效影院系统(详细教程带你从零开始) |python 数组最大值的位置 ...

    你看好Python3吗? |micropython 连接wifi
  • 如何在Windows下使用Python监控文件变动? |hill密码加密python
  • 如何在Windows下使用Python监控文件变动? |hill密码加密python | 如何在Windows下使用Python监控文件变动? |hill密码加密python ...