Python2和3主要差异总结.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Python2.x 和 3.x 主要差异总结 开始使用 开始使用 Python 之后就到处宣扬 Python 如何如何好,宣传工作的一大重要诀窍就是做对比, 比如原先用 Java 的时候做个什么东西要写多少代码,怎么个别扭,现在用 Python 实现同样 的功能怎么个简单等等。不过谈 Python ,不管怎么谈,老会谈到 Python2.x 和 3.x 的版本差 异问题,这个差异真不是一般的大,从一个简单的 print 到核心库的改进都牵扯到了很多,现 在总结了一些主要的差异点。 基本类型 (1) 整 形 在 python2.x 中,有两种整数类型,一般的 32 位整数和长整数,长整数都是以 L 或者 l( 不 建议使用小写 l, 容易跟 1 搞混),超过 32 位长度之后会自动转换为长整形。 在 python3.x 中,允许我们更随心所欲更自然的使用整数,只有一种类型,没有长度限制。 python2.x ? 1 1000000000000000000000000000000000 1000000000000000000000000000000000L2 1000000000000000000000000000000000L python3.x python3.x ? 1 1 1000000000000000000000000000000 10000000000000000000000000000002 1000000000000000000000000000000 (2) 八进制字面量表示 (2) 八进制字面量表示 在 Python2.x 中,表示八进制字面量有两种方式,一是同众多我们所熟悉的编程语言一样, 直接在数字前加 0,比如 01000, 另外是加 0o(0 和小写字母 o)0o1000 在 Python3.x 中,表示八进制字面量的方式只有一种,就是 0o1000 python2.x ? 1 0o1000 5122 512 010003 01000 5124 512 python3.x python3.x ? 010001 01000 File stdin, line 12 File stdin, line 1 010003 01000 ^4 ^ 5 5 SyntaxError: invalid token 0o10006 0o1000 5127 512 运算符 不等于测试 Python2.x 中不等于有两种写法 != 和 Python3.x 中去掉了 , 只有!= 一种写法,还好,我从来没有使用 的习惯 去掉了 repr 表达式`` Python2.x 中反引号 `` 相当于 repr 函数的作用 Python3.x 中去掉了 `` 这种写法,只允许使用 repr 函数,这样做的目的是为了使代码看上去更清晰么?不过我感觉用 repr 的机会很少,一般只在 debug 的时候才用,多数时候还是用str 函数来用字符串描述对象。 除法运算 Python 中的除法较其它语言显得非常高端,有套很复杂的规则。 Python 中的除法有两个运算符, /和// 首先来说 /除法: 在 python2.x 中/除法就跟我们熟悉的大多数语言,比如 Java 啊 C 啊差不多,整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的 结果。 在 python3.x 中/除法不再这么做了,对于整数之间的相除,结果也会是浮点数。 Python2.x: Python2.x: ? 1 / 21 1 / 2 02 0 3 3 1.0 / 2.0 0.54 0.5 Python3.x:? Python3.x: ? 1 1/2 0.52 0.5 而对于//除法,这种除法叫做 floor 除法,会对除法的结果自动进行一个 floor 操作,在 python2.x和 python3.x 中是一致的。 而对于//除法,这种除法叫做 floor 除法,会对除法的结果自动进行一个 floor 操作,在 python2.x 和 python3.x 中是一致的。 python2.x: ? 1 -1 // 2 -12 -1 python3.x:? python3.x: ? 1 -1 // 2 -12 -1 注意的是并不是舍弃小数部分,而是执行 floor 操作,如果要截取小数部分,那么需要使用 math 模 注意的是并不是舍弃小数部分,而是执行 floor 操作,如果要截取小数部分,那么需要使用 math 模 块的 trunc 函数 python3.x: python3.x: ? import math1 import math math.trunc(

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档