Python之间的区别是什么现状和问题有什么区别,怎么解决

python 2.x与3.x环境不同导致的问题问题
[问题点数:50分,结帖人m0_]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:0
本版专家分:9563
2009年 总版技术专家分年内排行榜第二2005年 总版技术专家分年内排行榜第二
2009年7月 总版技术专家分月排行榜第二2009年3月 总版技术专家分月排行榜第二2009年1月 总版技术专家分月排行榜第二2005年7月 总版技术专家分月排行榜第二2005年5月 总版技术专家分月排行榜第二2005年3月 总版技术专家分月排行榜第二
优秀小版主2015年8月优秀小版主2015年9月优秀小版主2015年5月优秀小版主2015年2月论坛优秀版主
2009年6月 总版技术专家分月排行榜第三2009年2月 总版技术专家分月排行榜第三2005年4月 总版技术专家分月排行榜第三2005年1月 总版技术专家分月排行榜第三
本版专家分:2493
本版专家分:100
匿名用户不能发表回复!|
其他相关推荐python3和Python2的区别_百度知道
python3和Python2的区别
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
育知同创教育
百度知道合伙人官方认证企业
育知同创教育
1、【专注:Python+人工智能|Java大数据|HTML5培训】。 2、【免费提供名师直播课堂、公开课及视频教程】。 3、【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
以下是他们之间的区别:1、python2默认是使用ASCII编码,所以说他们的编码默认是不支持中文的。python3默认是使用UTF-8的编码,所以他们默认是支持中文的。2、python2是不支持中文编码的,而且python2 的变量命名只能用英文。python3是支持中文的,而且python3的变量命名是能够使用中文的。
采纳数:65
获赞数:160
你应该是刚接触Python吧,建议直接学Python3.x下面是Python2.x与3.x版本区别:Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容。许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行。为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法与函数。新的Python程式建议使用Python 3.0版本的语法。除非执行环境无法安装Python 3.0或者程式本身使用了不支援Python 3.0的第三方库。目前不支援Python 3.0的第三方库有Twisted, py2exe, PIL等。大多数第三方库都正在努力地相容Python 3.0版本。即使无法立即使用Python 3.0,也建议编写相容Python 3.0版本的程式,然后使用Python 2.6, Python 2.7来执行。Python 3.0的变化主要在以下几个方面:1.print 函数print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的:print&&fish&print&(&fish&)&#注意print后面有个空格print(&fish&)&#print()不能带有任何其它参数然而,Python 2.6实际已经支持新的print()语法:from&__future__&import&print_functionprint(&fish&,&&panda&,&sep=',&')2.Unicode(这是一个极其好的改进)Python 2 有 ASCII str() 类型,unicode() 是单独的,不是 byte 类型。现在, 在 Python 3,我们最终有了 Unicode (utf-8) 字符串,以及一个字节类:byte 和 bytearrays。由于 Python3.X 源码文件默认使用utf-8编码,这就使得以下代码是合法的:&&&&中国&=&'china'&&&&print(中国)&chinaPython 2.x&&&&str&=&&我爱北京天安门&&&&&str'\xe6\x88\x91\xe7\x88\xb1\xe5\x8c\x97\xe4\xba\xac\xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8'&&&&str&=&u&我爱北京天安门&&&&&stru'\u\u5317\u4eac\u\u95e8'Python 3.x&&&&str&=&&我爱北京天安门&&&&&str'我爱北京天安门'3.除法运算Python中的除法较其它语言显得非常高端,有套很复杂的规则。Python中的除法有两个运算符,/和//首先来说/除法:在python 2.x中/除法就跟我们熟悉的大多数语言,比如Java啊C啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python 3.x中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。Python 2.x:&&&&1&/&20&&&&1.0&/&2.00.5Python 3.x:&&&&1/20.5而对于//除法,这种除法叫做floor除法,会对除法的结果自动进行一个floor操作,在python 2.x和python 3.x中是一致的。python 2.x&&&&-1&//&2-1python 3.x:&&&&-1&//&2-1注意的是并不是舍弃小数部分,而是执行floor操作,如果要截取小数部分,那么需要使用math模块的trunc函数python 3.x:&&&&import&math&&&&math.trunc(1&/&2)0&&&&math.trunc(-1&/&2)04.异常在 Python 3 中处理异常也轻微的改变了,在 Python 3 中我们现在使用 as 作为关键词。捕获异常的语法由&except exc, var&改为&except exc as var。使用语法except (exc1, exc2) as var可以同时捕获多种类别的异常。 Python 2.6已经支持这两种语法。1. 在2.x时代,所有类型的对象都是可以被直接抛出的,在3.x时代,只有继承自BaseException的对象才可以被抛出。2. 2.x raise语句使用逗号将抛出对象类型和参数分开,3.x取消了这种奇葩的写法,直接调用构造函数抛出对象即可。在2.x时代,异常在代码中除了表示程序错误,还经常做一些普通控制结构应该做的事情,在3.x中可以看出,设计者让异常变的更加专一,只有在错误发生的情况才能去用异常捕获语句来处理。5.xrange在 Python 2 中 xrange() 创建迭代对象的用法是非常流行的。比如: for 循环或者是列表/集合/字典推导式。这个表现十分像生成器(比如。&惰性求值&)。但是这个 xrange-iterable 是无穷的,意味着你可以无限遍历。由于它的惰性求值,如果你不得仅仅不遍历它一次,xrange() 函数 比 range() 更快(比如 for 循环)。尽管如此,对比迭代一次,不建议你重复迭代多次,因为生成器每次都从头开始。在 Python 3 中,range() 是像 xrange() 那样实现以至于一个专门的 xrange() 函数都不再存在(在 Python 3 中 xrange() 会抛出命名异常)。import&timeitn&=&10000def&test_range(n):&&&&return&for&i&in&range(n):&&&&&&&&passdef&test_xrange(n):&&&&for&i&in&xrange(n):&&&&&&&&passPython 2print&'Python',&python_version()print&'\ntiming&range()'&%timeit&test_range(n)print&'\n\ntiming&xrange()'&%timeit&test_xrange(n)Python&2.7.6timing&range()1000&loops,&best&of&3:&433&µs&per&looptiming&xrange()1000&loops,&best&of&3:&350&µs&per&loopPython 3print('Python',&python_version())print('\ntiming&range()')%timeit&test_range(n)Python&3.4.1timing&range()1000&loops,&best&of&3:&520&µs&per&loopprint(xrange(10))---------------------------------------------------------------------------NameError&&&&&&&&&&&&&&&&&&&&&&&Traceback&(most&recent&call&last)&ipython-input-5-5d8f9b79ea70&&in&&module&()----&&1&print(xrange(10))NameError:&name&'xrange'&is&not&defined6.八进制字面量表示八进制数必须写成0o777,原来的形式0777不能用了;二进制必须写成0b111。新增了一个bin()函数用于将一个整数转换成二进制字串。 Python 2.6已经支持这两种语法。在Python 3.x中,表示八进制字面量的方式只有一种,就是0o1000。python 2.x&&&&0o1000512&&&&01000512python 3.x&&&&01000&&File&&&stdin&&,&line&1&&&&01000&&&&&&&&^SyntaxError:&invalid&token&&&&0o10005127.不等运算符Python 2.x中不等于有两种写法 != 和 &&Python 3.x中去掉了&&, 只有!=一种写法,还好,我从来没有使用&&的习惯8.去掉了repr表达式``Python 2.x 中反引号``相当于repr函数的作用Python 3.x 中去掉了``这种写法,只允许使用repr函数,这样做的目的是为了使代码看上去更清晰么?不过我感觉用repr的机会很少,一般只在debug的时候才用,多数时候还是用str函数来用字符串描述对象。def&sendMail(from_:&str,&to:&str,&title:&str,&body:&str)&-&&bool:&&&&pass9.多个模块被改名(根据PEP8)StringIO模块现在被合并到新的io模组内。 new, md5, gopherlib等模块被删除。 Python 2.6已经支援新的io模组。httplib, BaseHTTPServer, CGIHTTPServer, SimpleHTTPServer, Cookie, cookielib被合并到http包内。取消了exec语句,只剩下exec()函数。 Python 2.6已经支援exec()函数。10.数据类型1)Py3.X去除了long类型,现在只有一种整型——int,但它的行为就像2.X版本的long2)新增了bytes类型,对应于2.X版本的八位串,定义一个bytes字面量的方法如下:&&&&b&=&b'china'&&&&&type(b)&&type&'bytes'&str对象和bytes对象可以使用.encode() (str -& bytes) or .decode() (bytes -& str)方法相互转化。&&&&s&=&b.decode()&&&&&s&'china'&&&&&b1&=&s.encode()&&&&&b1&b'china'3)dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它吧 。
本回答被提问者采纳
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。记录遇到的一个python2.7与python3区别问题,暂未解决 - 简书
记录遇到的一个python2.7与python3区别问题,暂未解决
旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。代码如下,在自己的IDE Python3中已跑通,但由于牛客网的在线编程平台中只可选择Pyhon2.7.3,同样的代码和测试用例在牛客网上会有报错,问题现暂未解决,记录一下。# -*- coding:utf-8 -*-class Solution:
def minNumberInRotateArray(self, rotateArray):
if len(rotateArray) == 0:
return False
elif len(rotateArray) == 1:
return rotateArray[0]
elif len(rotateArray) == 2:
if rotateArray[0] & rotateArray[1]:
return rotateArray[0]
return rotateArray[1]
mid = len(rotateArray)//2
if rotateArray[0] & rotateArray[mid]:
rotateArray = rotateArray[mid+1:]
self.minNumberInRotateArray(rotateArray)
rotateArray = rotateArray[:mid+1]
self.minNumberInRotateArray(rotateArray)测试用例:test= Solution()testArray= [63,74,04,59,96,4,293,334,492,39,43,96,03,65,42,68,00,6335]test.minNumberInRotateArray(testArray)自己的IDE上是没问题的:
牛客网(python2.7.3)的报错:不通过您的代码已保存答案错误:您提交的程序没有通过所有的测试用例case通过率为0.00%测试用例:[63,74,04,59,96,4,293,334,492,39,43,96,03,65,42,68,00,6335]对应输出应该为:154你的输出为:%d format: a number is required, not NoneType-----------------------------------------------------------------确定不是python版本的问题,后又在python2.7.3上运行仍然争取,牛客网上的问题仍未解决,无头绪。
pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写(默认)时的区别(201...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
Action 13:28:27: INSTALL. 1: MySQL Notifier 1.1.7 2: {724CDD73-430E-47DA-8F4E-7DF} Action 13:28:27: FindRelatedProducts. Searchi...
/*去重*/ function delRepeat(arr){ var newArray=new Array(); var len=arr. for(var i=0;i for(var j=i+1;j { if(arr[i]==arr[j]) { ++i; }...
1.容易影响心情。因为西藏行,有点精神恍惚,而且真的有点追求完美,不做完就不想放下,即使明天有很多事要做。
1.室友丢钱,急于摆脱自己的嫌疑,反而显得很有嫌疑。 2.情绪化。精神恍惚,影响打工,影响学习,影响工作。 3.要想成为朋...
今天,在日不落森林,所有的动物都喜气洋洋,因为今天是森林之王狮子菲尔的生日,大家都忙着为菲尔准备礼物呢。 小兔子弯弯挖出了自己藏的最好的一根胡萝卜献给菲尔。 公鸡威客先生正在那里吊嗓子呢,他准备在今天的晚宴上为菲尔高歌一曲,一助酒兴。 咦?小猪比利呢? 哦,这个懒家伙,还在...
云南省旅游发展委员会与中国电视旅游联盟在2017中国国际旅游交易会上签订了《云南旅游全国推广战略合作协议》,宣告云南旅游全国推广计划启动。 中国电视旅游联盟由全国近30家省级电视台组成,其中有一些还是旅游定位的专业频道。是在媒体融合背景下,电视加旅游的创新之举,也是推动中国...
作者 方佳利 一、 似乎身边的人都知道我寂寞。 而我的寂寞也无休无止。 像一场多年的病侵蚀着脆弱不堪的躯体。 我只剩下一堆尸骨。 不求一丝一滴的安慰。 只希望给我一个干净的世界。 让我好好地寂寞。 二、 寂寞由来已久,深刻人心。 像一根刺穿在...
历史馆 |细说“美容鼻祖”古希腊人的追美之路 ——《古今中外美妆真相》系列16 前话说起古罗马的各式美容秘方中,馆长提到了古罗马的美容文化是基于古希腊文化和东方文明所建立起来的,所以要想真正地了解源远流长的美容史,当然不能漏掉古希腊的美容文化。 古希腊文明是西方文明的主要源...Python不同项目中使用相同包名的问题
[问题点数:100分,结帖人oraclecaicai]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:1117
2005年4月 C/C++大版内专家分月排行榜第一2005年3月 C/C++大版内专家分月排行榜第一2005年2月 C/C++大版内专家分月排行榜第一
本版专家分:529
2018年2月 Web 开发大版内专家分月排行榜第三2017年10月 Web 开发大版内专家分月排行榜第三2017年4月 Web 开发大版内专家分月排行榜第三2013年11月 Web 开发大版内专家分月排行榜第三
本版专家分:20
本版专家分:0
匿名用户不能发表回复!|
其他相关推荐}

我要回帖

更多关于 在描述问题解决中专家和新手的区别 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信