Python语言基础考察三(key words:python 2/3 差异 & Python 2/3 的转换工具)

Python语言基础考察三

  • 本文重点讨论python 2/3 差异 & Python 2/3 的转换工具
    • 一、python 2/3 差异
    • 二、Python 2/3 的转换工具
  • Python语言基础系列完结啦,感谢观看~

本文重点讨论python 2/3 差异 & Python 2/3 的转换工具

一、python 2/3 差异

  1. 编码问题
    Python2 默认的编码为 ASCII 编码
    Python3 默认的编码为utf-8,因而不用在文件顶部加上那行令人怀念的#coding=utf-8了

原因:
Python诞生那会儿的时候还没有产生 unicode

>>>#python3
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'

>>> #python2
>>> import sys
>>> sys.getdefaultencoding()
'ascii'
  1. 语法问题
Python2 Python3
print语句 print函数
exec语句 exec函数
<> !=
long int(long被遗弃,采用变长存储)
xrange、range range(生成器)
raw_input input
except xx , error except xx as error
/ //

PS,此外还有一些区别:
      (1)Python3 中 dictionary 关联的 keys()、values()、items()、zip()、map()、filter() 不再返回list对象,而是返回一个对象,但是可以使用强制类型转换使其变成list类型。
      (2)Python2 中允许进行数字和字符串的比较(例如 11 < “test” 会返回 True),而 Python3 则杜绝了这种比较操作。
      (3)优化的 super() 方法方便直接调用父类函数
      (4)高级解包操作(例如:a,b,*rest = range(10))
      (5)新的内置库 enum 等
      (6)一些内置库的修改,urllib,selector等
      (7)Python3 也进行了性能优化

二、Python 2/3 的转换工具

  • six模块
  • 2to3等工具实现代码转换
  • __future__函数的使用(演示如下)
from __furture__ import division

#In python2
a = 23/6  # a = 3.833333333

Python语言基础系列完结啦,感谢观看~

嘿嘿,I am very glateful that 你看到这里了哦~下回再见ヾ(o◕∀◕)ノヾ
Thx
Python语言基础考察三(key words:python 2/3 差异 & Python 2/3 的转换工具)_第1张图片

你可能感兴趣的:(Python语言基础考察)