学python2.7简单还是python3.0简单,谈谈两者区别

1. 使用__future__模块

Python 3.X 引入了一些与Python 2 不兼容的关键字和特性。在Python 2中,可以通过内置的__future__模块导入这些新内容。如果你希望在Python 2中写的代码也可以在Python 3.X中运行,那么建议使用__fufure__模块。

2. print 函数

虽然print语法是Python 3中一个很小的改动,但是依然值得提一下:Python 2中的print 语句被Python 3中的 print()函数取代,这意味着在Python 3中必须用括号将需要输出的对象括起来。在Python 2中使用额外的括号也可以,但是如果要在Python 3中以Python 2 的形式不带括号调用 print 函数,就会触发SyntaxError(语法错误)。

3. 整数除法

由于人们常常会忽视Python 3 在整,数除法上的改动(写错了也不会触发SyntaxError),因此在移植代码或在Python 2 中执行Python 3 的代码时需4要特别注意这个改动。

4. Unicode

Python 2 有基于ASCII 的 str()类型,可通过单独的 unicode()的函数转成 unicode类型,但没有byte 类型。在Python 3 中有了Unicode(UTF-8)

字符串和两个字节类(bytes和bytearrays)。

5. xrange

在Python 2.x中,经常会用xrang()创建一个可迭代对象,通常出现在“for”循环或“列表/集合/字典推导式”中。(在Python 3 中使用 xrang()会触。NameError)。

6. 触发异常

Python 2 支持新旧两种异常触发语法,而Python 3 只支持带括号的语法(不然会触发SyntaxError)。

7. 处理异常

Python 3中的异常处理发生了一点变化。在Python 3中必须使用as 关键字,Python 2 中不需要。

8. next()函数和.net()方法

由于会经常用到next() (.next())函数(方法),因此要提到另一个语法改动(实现方面也做了改动):在Python 2中,函数形式和方法形式都可以使用;在Python 3中 ,只能使用next()函数(试图调用.next()方法会触发AttributeError) 。

9. for循环变量与全局命名空间泄露

在Python 3中,for循环中的变量不再会泄露到全局命名空间中了。

10. 比较无序类型

Python 3 中另一个优秀的改动是,如果我们试图比较无序类型,就会触发一个TypeError。

11. 使用 input()解析输入内容

Python 3 改进了input()函数,这样该函数就会总是将用户的输入存储为 str对象。在Python 2 中,为了避免读取非字符串类型会发生的一些危险行为,不得不使用 raw_input()代替input()。

12. 返回可迭代对象,而不是列表

某些函数和方法在Python 3 中返回的是可迭代对象,而不像在Python 2 中返回列表。对象只遍历一次会节省很多内存,如果通过生成器多次迭代这些对象,效率就不高了。此时如果需要列表对象,可以通过Python 3的list()函数简单地将可迭代对象转成列表。

转载(http://www.96net.com.cn/)

最新文章

  1. Unity依赖注入使用详解
  2. HDU 5965 枚举模拟 + dp(?)
  3. pc端页面在移动端显示问题
  4. Matlab的实时编辑器(Live Script)
  5. Android SQLiteOpenHelper(二)
  6. Android--下拉框
  7. Backpack | & ||
  8. Thread 总结
  9. Qt5 QTableWidget设置列表自动适应列宽
  10. css之伪类选择器:before :after(::before ::after)
  11. MongoDB 字段增长
  12. 【POJ2912】【并查集】Rochambeau
  13. datagridview,textbox,combobox的数据绑定,数据赋值,picturebox的用法
  14. VHDL学习之TEXTIO在仿真中的应用
  15. 从汇编来看c语言
  16. dedecms一些技巧
  17. [LeetCode][Python]Container With Most Water
  18. asp.net 验证码技术
  19. springMVC源码分析--ControllerBeanNameHandlerMapping(八)
  20. 团队项目(六)- Alpha阶段项目复审(江山代有才人秃)

热门文章

  1. 实现 unity MonoBehaviour API5.4 的消息
  2. [Luogu2600]合并神犇(dp,贪心)
  3. php session生存周期
  4. CreateMutex函数 (转)
  5. bzoj3252 攻略 贪心+dfs序+线段树
  6. thinkphp获取目录的方法
  7. [CSS]CSS中使用span和div遇到的问题
  8. 4. jaxp----dom解析器(DocumentBuilderFactory、DocumentBuilder)
  9. JS原型链详解(2)
  10. CMD批处理查看当前路径