总结Py2 与Py3 的区别

1 编码区别

在Python2中有两种字符串类型str和Unicode。

默认ASCII

python2 str类型,相当于python3中的bytes类型

python2 unicode类型,相当于python3中的str类型

而在Python3中改为了bytes和str

默认utf-8

在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类:

  1. 通用的 Unicode 字符;
  2. (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符。

Python2 中字符的类型:

  • str: 已经编码后的字节序列

  • unicode: 编码前的文本字符

Python3 中字符的类型:

  • str: 编码过的 unicode 文本字符
  • bytes: 编码前的字节序列

2 输入input

python2:name=raw_input('请输入姓名')

python3:name=input('请输入你的姓名')

3 输入print

python2:print "你好"

python3:print("你好")

4 数字表示

python2: 64位机器,范围 -2^63~2^63-1

超出上述范围,python自动转化为long(长整型) ;注:long(长整型)数字末尾有一个L

python3: 所有整型都是int, 没有long长类型

5 整型除法

python2:只能保留整数位

python3:可以保留所有内容

6 range

python2:

  • xrange:不会在内存中立即创建,而是在循环时,边循环边创建
  • range:在内存立即把所有的值创建

python3:

  • 只有range,相当于python2中的xrange
  • range:不会在内存中立即创建,而是在循环时,边循环边创建

7 字典

python2:返回列表,通过索引可以取值

python3:返回迭代器,只能通过循环取值,不能通过索引取值

8 class

python2.7中经典类和新式类混合

python3中都是新式类

经典类中使用深度优先,新式类中使用广度优先

python2不能使用super

python3可以使用super

最新文章

  1. 我的MYSQL学习心得(九) 索引
  2. RecyclerView的基本使用
  3. js图片时间翻转
  4. GSM嗅探
  5. A Mathematician‘s Survival Guide Graduate School and Early Career Development
  6. addChildViewController 与 addSubview
  7. sicily 4378 connected components in undirected graph
  8. Tuning Radio Resource in an Overlay Cognitive Radio Network for TCP: Greed Isn’t Good
  9. sitemap制作
  10. Win7系统下,docker构建nginx+php7环境实践
  11. 通过C#学Proto.Actor模型》之Remote
  12. cache line 伪共享
  13. ionic插件安装与卸载
  14. 第三章 消息摘要算法--MD5
  15. 利用XAMPP搭建PHP开发环境,解决443端口被占用
  16. pandas数组(pandas Series)-(3)向量化运算
  17. L1-035 情人节
  18. JavaScript作用域原理——预编译
  19. 使用Martix来实现缩放图片的功能
  20. python写爬虫时的编码问题解决方案

热门文章

  1. Chrome浏览器切页快捷键
  2. 计算机二级-C语言-程序设计题-190118记录-通过数组和指针两种方式对字符串进行处理。
  3. 带你了解MyBatis一二级缓存
  4. C#多个泛型约束问题
  5. Thread线程
  6. 转专业后对于C语言补修的一些体会(2)
  7. Android基础 -- Activity之间传递数据(bitmap和map对象)
  8. 解决centos7命令无法补全
  9. Fleck WebSocket使用
  10. Mapgis地图颜色配置(专题图配置)----对比Arcgis根据属性配置图斑颜色