采访一下各位,目前主要用的是 python3视频教程 下载 2 还是 3

应该学习最新版本的 Python 3 还是旧版本的 Python 2?
看到最新Python版本是3.5,但是网上的资料,包括出版的书籍,都是最晚到13年左右,很多细节都不同,语法也过时了。那此时应该直接学习3.X还是2.X?如果前者的话,有什么推荐的资料或者书么?最好中文。英文看起来效率会比较低。
按投票排序
122 个回答
看到现在,我一直很好奇为什么会有人因为纠结学Py 3还是Py 2而浪费大量时间。编程的话最重要的是编程思想,Python 3和Python 2虽然是两门完全不同的语言(故意黑),但是它的思想基本是共通的,只有少量的语法差异。而编程中,语法只是细枝末节的东西。那么无论你学2还是3,都没有区别。会Python的人,一般2和3都会。当你学会了3,你只要稍微花上一点时间学习Python 2的语法,那么Python 2和Python 3这两门语言你也就都学会了——而认识语法差距花的时间,一般也不会比你纠结学哪个花的时间更多。不要纠结学什么了,想到就去学,不要在这方面纠结太多时间,选Py 2或者Py 3并没有什么差异。——————————————————————————————————最后给大家看一个从8月份开始,就在各大Q群进行调研,进行技术选型的人。评论里看来,应该也有非常多的知友见过这个人了,我所在的不少群也都曾私下讨论过这个人是个什么心态。这里涂去个人信息。(九月份,上面那些框架是他从各大Q群听别人推荐的,这个人不会编程,他要学的语言,是十年内不会落伍,不会没饭吃的语言。(九月份,上面那些框架是他从各大Q群听别人推荐的,这个人不会编程,他要学的语言,是十年内不会落伍,不会没饭吃的语言。一开始他听人推荐,是打算用Laravel的,因为听说很好用)(十月上旬,还在纠结要学什么。做Web我当然给他推荐PHP,他说听别人说(十月上旬,还在纠结要学什么。做Web我当然给他推荐PHP,他说听别人说PHP性能不行。我就说那你学C++吧,腾讯和新浪不少网站就是C++写的,他说听人说C++太难,学不了。)(十月下旬,同样还在问要学哪些语言和技术,要实用还要简单,可以让他在(十月下旬,同样还在问要学哪些语言和技术,要实用还要简单,可以让他在三到六个月从零基础成为全栈工程师,全栈工程师真是大白菜。)(十一月中旬,技术选型还未完成,还不知道学什么。但是前几天不知道从哪里听来了Go Lang,这门语言也加入了他的选型列表。因为前沿,(十一月中旬,技术选型还未完成,还不知道学什么。但是前几天不知道从哪里听来了Go Lang,这门语言也加入了他的选型列表。因为前沿,他开始倾向于Go Lang。)昨天,他还拿着关于缩进的示例代码,开始纠结PHP、Node.js、Python哪个好,昨天,他还拿着关于缩进的示例代码,开始纠结PHP、Node.js、Python哪个好,这次开始倾向于Python,然而还是没有进行编程的学习。(不要吐槽Node.js版本中的语法错误,或者是代码风格。)——————————————————————————————————我不希望题主成为上面这样的人。
scrapy已经支持python3了 ==========
分割线 ==========用Python做爬虫的注意一下,scrapy不支持Python3。 这里有篇文章讲scrapy的迁移工作:主要原因是Twisted还不完全支持Python3. 虽然Twisted大部分是可移植到python3的,但Twisted的http agent并不支持Python3.scrapy团队两年前就开始了向python3的移植工作。现在scrapy每次提交都有一部分测试在python3下执行。除了Twisted, 移植的另一个大问题是Request和Response对象。这个问题最近得到了解决。解决中遇到了如下一些问题:HTTP headers应该是byte还是unicode?key和value需要区别对待么?一些headers如cokies通常是UTF-8, HTTP Basic Auth通常是latin1编码。其他的headers却没有一个通用的编码。通常用bytes表示HTTP headers是合理的。但有一个问题:如果你将现有代码从Python2.x移植到3.x,一些以前运行正常的代码可能会悄悄的出错。比如一个HTTP response包含"content-type: application/json".如果headers用bytes表示,在Python2.x中,content_type == 'application/json'返回True, 但在Python3.x中就会返回False,因为你在拿Unicode字面量和bytes进行比较。如何正确的进行百分比转义和反转义?正确转义依赖于网页的编码和该转义URL的哪部分。如果网页使用非ASCII编码就可能有问题。经过一些实验后我们发现浏览器在干一些很疯狂的事情:URL路径在转义之前进行了UTF-8编码,但query string在转义前却使用了网页里的编码。你不能依赖浏览器在界面上显示了什么来判断URL的编码,在OS X和Linux上,每个FireFox和Chromed发送给服务器的都是UTF-8编码的路径和网页编码的query string.但它们显示给用户的则依赖于浏览器和操作系统。URL相关的函数在Python2.x和3.x中有很大不同。Python2.x中这些函数只接受bytes,Python3.x中只接受Unicode. 这和疯狂的编码问题搞在一起让代码移植变得越发困难。
python 3 有很大改进,比 2 更容易理解。 如果题主决定学 2,建议当被 string bytes 搞晕时,了解一下 3,再做决定。另外,3 的库已经比较全了,不支持 3 的,多数是不再维护的。
计算机初学者问我该学什么语言Top1问题编年史(大部分日期都是瞎编的):1978年 至 1985年:我该学习机器理解的汇编语言还是自然语言的C语言?1985年 至 1995年:我该学习面向过程的C语言还是面向对象的C++?1995年 至 2000年:我该学习不能跨平台的C++还是跨平台的Java?2000年 至 2010年:我该学习开源的Java还是微软的C#?2010年 至 2014年:我该学习静态类型的Java还是动态类型的Python?2014年 至 2015年:我该学习经典的Python2还是最新的Python3?…………(100年后)2100年:我该学习跨语言跨人种意念编程的Shity语言还是支持量子编码超并发的WTF语言?
楼主首先要搞明白一件事,python语言的最大优势并不是语言本身的特性,而是它拥有脚本语言中最丰富的第三方包(模块,库或者叫什么也好),这回其他任何语言都无法比拟的巨大优势。很多人学python并不是因为python适合开发什么软件或者工程,而是因为python拥有某个非常适合他们工作相关领域的简单易用的工具包。所以,学pyhton2还是3关键要考虑的是你所准备使用的模块是否支持3.x. 以我为例,我使用python主要用于实验也就是科学计算,我的主要研究方向是神经网络,常用的模块包括numpy, scipy, theano, pylearn2,在这几个模块中前两个貌似已经有3.x版,但是后两个短期内几百年没有可能出现3.x版,而他们正好是GPU实验必不可少的模块。在这种情况下,我当然要继续坚持使用python2了。总而言之,我的建议是,学python,首先要明确自己要做什么任务,要使用哪些模块,以自己需要的模块为中心学习,而不是像学习c++和java那样以语言本身或者设计模式为主要学习内容。这一点其实与matlab很相像,只学习matlab的语法可以说毫无意义,真正有用的是学习你所需要的matlab各个函数的用法。
Py 3 毫不犹豫,强烈反对说什么向后兼容什么历史原因,就是因为你们 Py 3 才被抹黑成这样的。之前看到个幻灯片,说不用Py3的你们错过了什么,我找找。(前几期码农周刊看到的,没时间找了,这个答案是我凭着一口怒气用手机码的。)干货:(翻页用方向键)你真以为向后兼容就是兼容?Python(社区)在 2 到 3 的兼容已经做了大量大量大量的工作了。2to3 你们都知道,这个你们也该知道:现在 Py 2.7 向前兼容已经很好了,很多库同一套代码兼容 2.7 和 3,这叫不能兼容?哪个平行语言一套代码直接能用到另一个语言上?这叫平行语言?平心而论,有断层,但是确是容易弥补的。你们真以为那么多年 Py3 的更新都是吃白饭的?一个现代时髦脚本语言离开了不断的特性更新,只有半死不活的安全维护,这算活着!?醒醒吧,社区正在不断向 3 迁移,虽然手头没有数据,但是不信可以写代码去 GitHub 之类的地方统计一下,Py 3 的支持是什么样的趋势。当年确实不方便用 3,因为没什么库,我因为这样的考虑入门也是用的 2 ,现在年复一年,一个又一个的库迁移了,你们还是一套说辞,这不是惯性不是惰性是什么?现在还不支持 Py 3 的库大多是常年无人维护的东西了,当然还有少数必须的,比如说 OpenCV,但这不是放弃 Py3 的理由,人家问的是初学者,对于初学者来说不需要考虑公司用什么,不需要考虑计算某种化学数据的库是不是用 Py2 写的,人家到时候要用回 Py 2 稍微注意一点就行了——我现在实习中用 Py 2 也就是一直被编码搞得很恼火,其他没遇到什么问题。3.X版本的没有pandas、matplotlib、scipy库请问你是哪个时代的Py3?难道你是坐时光机过来的??我用 Py3 处理数据机器学习处理图片,欢得很。你打算把你的生命浪费在处理编码问题,体会那些早已过时的语法吗?一想到 map filter 竟然生成一个 list 我就心寒。2.7 已经永不添加新的特性了,只会修复原有安全问题。PyPy,各大 Web 框架,科学计算包(),都已完美支持。(PyPy 是最近成熟支持的,,这也说明了趋势)不要活在过去啊。如果你们真信了向 Py 3 迁移要十年的话,Py 3 的迁移就需要无限年,你仔细尝试一下,那么向 Py 3 迁移只需要五分钟。更新:我不是说你不能用 2,纯粹看工程需要甚至个人喜好,但我需要破除对 3 的偏见。你说我喜欢 2 要用 2,你说你的代码依赖 2 要用 2,我举双手支持。但是你说新手别学 3,因为没人用 3,3不好学没有库,我就不敢苟同了。你是你,我不能强求你任何事情,哪怕你用 Py1 我都管不着。编码问题,首先这个问题是对初学者来说的,如果你觉得初学者学习 Python 要懂得 Python 的 str 类型是 byte array ,每一个字只有一个字节的空间,如果要放中文必须把一个中文用多个字节编码放进 str 用得时候组合起来,或者用另外一个类型……的话,那我无话可说。其次,就算你独善其身,你也可能碰到库翔一样的 unicode 支持。库问题,这是我的答案一直在说的——有名的库纷纷支持 Python 3,没有历史包袱的话使用 Python 3 基本不会碰到任何问题。语法差异是不大,这就是两者能做到兼容的基础。那么对于一个新手学习来说,应该去学虽然资源丰富但是终将死去的 2,还是去学 3?应该忍受 class Foobar(object): 还是轻松地写 class Foobar: ?应该是 input_raw 还是直接 input?对于上一条的补充,我说 Python 2 资料丰富,但实际上很多 Python 的资源是两者共享的(大多数问题是库问题。)其次,现在的 Py2 教程什么的也太老了——当然你说你百度搜索某个问题出来个百度空间的知其然不知其所以然的解决方法是宝贵的遗产的话那我无话可说。如果你们真的,真的,真的先入为主地把 2 和 3 已经当做两个不同的语言了那还怎么谈?__future__ 真的哭晕在厕所啊。更新 3 的局限,你们自己看,有这方面需要的人或许比较适合Python 2,欢迎补充指正:OpenCVOpenStack一些云平台,比如 GAEcz_freeze 不能将 Python 脚本打包成单独的 exe 文件待补充
必须果断学 3,并且,万一有需要要写 Py2 的东西,记得最开始写上from __future__ import division, print_function
作为没有历史包袱的初学者,自然应该选3.x。 说,除非:1.要用只有2.x才有的库,2.你被要求非要用2.x。否则选该选3.x。2再好再主流,未来的份额只会有降无升。语法上来说,3.x填了很多坑,用户体验优于2.x(换言之,用起来爽)。2.x每次from future import xxx难道不累么?future早就已经摆在你们面前了。论lib支持度: 最常用的200个lib现在只有35个还是红的了,而且还会逐渐降低。在连超级大坑Pypy都已经支持3.x的今天,py3k生态圈不成熟什么的已经不成说辞了。LPTHW说2.x还可以战十年:zed这句话是2010年说的。现在10年也过了一半了。现在有大把人(比如我)只用3,一样活得很开心。
为什么要用PY3?有个很简单的理由,官方说PY2只维护到2020年。这不只有4年多了吗?
如果让我说,看情况。我在公司会维护两种项目,一种产品级的,无论如何都要保证按时上线,这种情况下为了库兼容性只能选2,另一种是实验性质多过产品性质的,就毫不犹豫选3。别的不说不说光一个unicode问题就够做出选择了何况有些库比如pyqt5只有3版本的。
已有帐号?
无法登录?
社交帐号登录Python 3.2 Release | Python.org同时装了Python3和Python2,怎么用pip?
Ubuntu13.04, 系统内同时装了Python3.3 和 2.7用sudo apt-get install python-pipsudo apt-get install python3-pip分别装了两个版本对应的pip但是现在运行pip install 只能给2.7版安装库(好像是因为重名只能调用python-pip),怎么样设置才能给3.3版安装呢?
按投票排序
python3的用pip3
pip,pip2,pip3 对于Linuxpy -2 -m pip install sth,py -3 -m pip install sth 对于Windows
转帖-[官解]Windows上Python2和3如何兼容想学习Python3,但是暂时又离不开Python2。在Windows上如何让它们共存呢?目前国内网站经常会让大家把其中一个python.exe改个名字(嗯,我也这样讲过,在此纠正一下),这样区分开两个可执行文件的名字,但是这样做有一个重大的隐患,就是修改了名字的那个python对应的pip将无法使用。官方的解法是什么?事实上这个问题几年以前Python社区就给出了官方解决方案,只不过国内一直没有注意到罢了。我们在安装Python3(&=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。有关Python2和3的安装,可以参见Python部落()--&影音学堂--&《0基础1小时,Python入门》的第一节。如果你有一个Python文件叫 hello.py,那么你可以这样用Python2运行它py -2 hello.py类似的,如果你想用Python3运行它,就这样py -3 hello.py去掉参数 -2/-3每次运行都要加入参数-2/-3还是比较麻烦,所以py.exe这个启动器允许你在代码中加入说明,表明这个文件应该是由python2解释运行,还是由python3解释运行。说明的方法是在代码文件的最开始加入一行#! python2或者#! python3分别表示该代码文件使用Python2或者Python3解释运行。这样,运行的时候你的命令就可以简化为py hello.py使用pip当Python2和Python3同时存在于windows上时,它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:py -2 -m pip install XXXX-2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。如果是为Python3安装软件,那么命令类似的变成py -3 -m pip install XXXX#! python2 和 # coding: utf-8 哪个写在前面?对于Python2用户还有另外一个困惑,Python2要在代码文件顶部增加一行说明,才能够在代码中使用中文。如果指明使用的Python版本也需要在文件顶部增加一行,那哪一行应该放在第一行呢?#! python2 需要放在第一行,编码说明可以放在第二行。所以文件开头应该类似于:#! python2
# coding: utf-8
有了这些技巧,Python2和Python3就可以愉快地在一起玩耍了~Python标准:
详见官方文档https://docs.python.org/3/installing/
mac自带py2.7,自己安装了pip
安装了python3.4, 已包含pip安装了python3.4, 已包含pip更新pip实测安装第三方包看一下site-packages看一下site-packagesDone!Done!
为了回答这个问题,特意跑到一台 CentOS 6.5 上装了一个 Python3(手头没有 Ubuntu 的环境),然后又装了一个 pip,通过ln创建连接、alias创建别名这些操作,证明Python2 和 Python3
还是可以完美并存的。题主的问题不在于能不能并存,而在于用默认的 pip install 命令给Python3 安装这个做法本身就是错误的,下面是我的解决方案:环境上之前已经有了 Python 和 pip, # python --version:
Python 2.7.9
# pip --version
pip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
安装了 Python3 之后,创建一个软链接 /usr/bin/python3, # ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# which python3
/usr/bin/python3
# ll /usr/bin/python3
lrwxrwxrwx. 1 root root 30 4月
28 20:46 /usr/bin/python3 -& /usr/local/python3/bin/python3
这样就可以直接使用 python3 命令了。# python3 --version
Python 3.5.1
接着我用 Python3 装了个pip。之前有人说用pip3升级又会变成pip,所以我开始装的是一个1.5.4版本的。# which pip3
/usr/bin/which: no pip3 in (/usr/lib/java/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
# ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
# pip3 --version
pip 1.5.4 from /usr/local/python3/lib/python3.5/site-packages/pip-1.5.4-py3.5.egg (python 3.5)
那我现在就开始用两个pip进行安装啦,就安装那个 requests 包吧:# python
Python 2.7.9 (default, Dec
[GCC 4.4.7
(Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
&&& import requests
Traceback (most recent call last):
File "&stdin&", line 1, in &module&
ImportError: No module named requests
包不存在噢~# pip install requestsCollecting requests
Downloading requests-2.9.1-py2.py3-none-any.whl (501kB)
100% |████████████████████████████████| 501kB 945kB/sInstalling collected packages: requestsSuccessfully installed requests-2.9.1# python
Python 2.7.9 (default, Dec
[GCC 4.4.7
(Red Hat 4.4.7-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
&&& import requests
&&& requests.get('')
&Response [200]&
Python2 下是没问题的,接下来再看 Python3:# python3
Python 3.5.1 (default, Apr 28 :40)
[GCC 4.4.7
(Red Hat 4.4.7-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
&&& import requests
Traceback (most recent call last):
File "&stdin&", line 1, in &module&
ImportError: No module named 'requests'
也是不存在的。# pip3 install requests
Collecting requests
Using cached requests-2.9.1-py2.py3-none-any.whl
Installing collected packages: requests
Successfully installed requests-2.9.1
Python 3.5.1 (default, Apr 28 :40)
[GCC 4.4.7
(Red Hat 4.4.7-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
&&& import requests
&&& requests.get('')
&Response [200]&
bingo~好,我再升级一下 pip3:# pip3 install --upgrade pip
Downloading/unpacking pip from https://pypi.python.org/packages/31/6a/0f19a7edef6c8ecc2a08e22eaf2e1e72d851462/pip-8.1.1-py2.py3-none-any.whl#md5=22db7b6a517a09c29d54aeb
Downloading pip-8.1.1-py2.py3-none-any.whl (1.2MB): 1.2MB downloaded
Installing collected packages: pip
Found existing installation: pip 1.5.4
Uninstalling pip:
Successfully uninstalled pip
Successfully installed pip
Cleaning up...
# pip3 --version
pip 8.1.1 from /usr/local/python3/lib/python3.5/site-packages (python 3.5)
完美升级,并且可用。现在再说为什么题主使用 pip install 想给 Python3 安装这个做法是错的:看我上面执行了两个 pip --version 命令和 pip3 --version 命令,明确的显示了他们安装包的 site-packages 路径,你默认的 pip 是 Python2 下的,安装的包当然安装不到 Python3 下面。我为什么要在 /usr/bin 下创建一个 pip3 链接,因为同一个目录下,只能存在一个 pip , 已经存在了指向 Python2 的 pip,新来的 pip 就不能再用这个名字,否则覆盖就造成原来 Python2 的 pip 不可用。如何解决同名命令的多版本存在的问题呢? 参考我下面的做法:python3/pip3 带个数字的命令总觉得不正统,但是不带数字的 python/pip 已经被 Python2 给占用了又想保留他们,那我该怎么办呢? 这个时候就轮到伟大的 alias 上场了:# alias pip=/usr/local/python3/bin/pip3
# pip --version
pip 8.1.1 from /usr/local/python3/lib/python3.5/site-packages (python 3.5)
此时 再用 pip install 安装的库都将安装到 Python3 的路径下,如果想用 Python2 的 pip , 只需要执行一个 unalias pip 就好了:# unalias pip
# pip --version
pip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
同理,可以把这个用到 python 命令上。alias 命令可以写到你的shrc环境变量文件里,这样就不用每次都敲这么一长串命令了。(看那个贴官方答案的,每次安装执行那么长一坨命令就不头疼么?)??乛?乛?? 完美另外,那篇[官解]里说脚本头部加上 shebang 行的,个人认为完全没有必要,为什么呢?Linux 里面,脚本加上 shebang 并赋予可执行权限,这样通过 "/路径/脚本" 的形式就可以执行脚本了,如果脚本没有赋予可执行权限时,这种方式就无法执行。而用以下这种方式:"python /路径/脚本" 或者 "python3 /路径/脚本" 无论有没有赋予脚本权限,无论有没有 shebang 行,脚本都是可以执行的,还是这种方式更直接一些。PS: Linux 下面多认识一下 PATH,用好 ln 、alias ,可以帮你解决好多问题 ,有时 virtualenv 也并不需要。??乛?乛?? 完美
提供一个Windows下的解决方案:先安好的python2的pip,它的默认路径是C:\Python27\Scripts看到没有,它怕你找不到,自己给自己起了3个名字,随便你用哪个。然后安装python3的pip,它的默认路径是C:\Users\***\AppData\Local\Programs\Python\Python35-32\Scripts也是3个名字。然后你把这两个路径填加到环境变量中,就可以愉快的用pip2 install ... (python2)pip3 install ... (python3)分别安装库了。
同上,用 virtualenv
virtualenv 是 lib 级别的隔离,如果需要python解释器的隔离,可以直接用
建议用 , 这样可以在不修改系统自带的python的前提下,安装任意多个Python版本,而且版本之间是相互隔离的,多版本管理起来很方便。
python3.3自带pyvenv不需要vitrualenv了
已有帐号?
无法登录?
社交帐号登录Python 2.7教程 - 廖雪峰的官方网站
Python 2.7教程
这是小白的Python新手教程。
Python是一种计算机程序设计语言。你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等。
那Python是一种什么语言?
首先,我们普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。而不同的编程语言,干同一个活,编写的代码量,差距也很大。
比如,完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。
所以Python是一种相当高级的语言。
你也许会问,代码少还不好?代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。
那是不是越低级的程序越难学,越高级的程序越简单?表面上来说,是的,但是,在非常高的抽象计算中,高级的Python程序设计也是非常难学的,所以,高级程序语言不等于简单。
但是,对于初学者和完成普通任务,Python语言是非常简单易用的。连Google都在大规模使用Python,你就不用担心学了会没用。
用Python可以做什么?可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站包括YouTube就是Python写的;可以做网络游戏的后台,很多在线游戏的后台都是Python开发的。总之就是能干很多很多事啦。
Python当然也有不能干的事情,比如写操作系统,这个只能用C语言写;写手机应用,只能用Objective-C(针对iPhone)和Java(针对Android);写3D游戏,最好用C或C++。
如果你是小白用户,满足以下条件:
会使用电脑,但从来没写过程序;
还记得初中数学学的方程式和一点点代数知识;
想从编程小白变成专业的软件架构师;
每天能抽出半个小时学习。
不要再犹豫了,这个教程就是为你准备的!
准备好了吗?
,十年软件开发经验,业余产品经理,精通Java/Python/Ruby/Visual Basic/Objective C等,对开源框架有深入研究,著有《Spring 2.0核心技术与最佳实践》一书,多个业余开源项目托管在,欢迎微博交流:
Make a Comment
Sign In to Make a Comment
You can sign in directly without register:
You need authorize to allow connect to your social passport for the first time.
WARNING: You are using an old browser that does not support HTML5.
Please choose a modern browser ( /
/ ) to get a good experience.当前位置: >
Slashdot对Python之父的采访(2)
时间: 20:47 来源:网络整理 作者: 阅读:次
多年以来,曾经尝试几次创建一个沙箱版本的Python,使之能够运行在浏览器上。主要是因为Javascript的问题。而现在针对Javascript做的工作,我们有了一个很好的替代品CoffeeScript&&那现在是不是已经是时候来实现让Python运行在浏览器里的功能了?
Guido:我在1995年就放弃了这件事。并且请不要把Python编译成Javascript。它们的语义非常不同,结果是你用Javascript写了一个Python运行时,它会让运行变得太慢。
由 MetalliQaZ &提问:&你对目前向Python 3的迁移的迁移感觉怎么样?从一个用户的角度来看,一些流行的库的转变还差得很远,而这阻碍着这种过渡。在我的专业所及的地方,基本上我用的所有系统都没有安装3.x解释器。事实上,2.7也很少,我想听听你的看法。&
Guido:很好奇你在哪工作。我同意向Python3的迁移会持续很长时间,但是如果你的系统还没用上2.7 版本的话,那就真是有点古老了!在我离开Google的时候,所有向Python2.7过渡的工作全部完成了(在前几年已经成功的从2.4迁移到 2.6),在Dropbox这里,客户端和服务器端都是用的2.7。这两个公司都在考虑Python3的问题了。
再来说向Python3的迁移,我实际上是相当乐观的。很多流行的库都开始着手做这件事。它确实会持续很长时间,但也有很多进展,过几年之后,我希望所有的代码都能迁移到Python3上来。完全根除Python2的使用可能会花更多的时间,但是呢,Windows XP不也是没完全死掉吗。
原文链接: Slashdot&&&翻译: 伯乐在线 - 伯乐在线读者
译文链接: 【编辑推荐】【责任编辑:小林 TEL:(010)】
原文:Slashdot对Python之父的采访 返回开发首页
感谢您对的支持,我们为您免费提供技术文章,详细使用和说明,有时可能不完善、敬请谅解!如果有错误请给我们留言,我们将尽快修复文章错误,如果您觉得本站不错,请分享给周围的朋友!谢谢!

我要回帖

更多关于 python3.4 64位下载 的文章

 

随机推荐