- Print命令修改成print()函数
- Exception中无message,打印异常直接使用str(exception)
- tzlocal是第三库,需要单独安装,在python2.7中是python系统库
- 2.x里的字符串用’xxx’表示str,Unicode字符串用u’xxx’表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u’xxx’和’xxx’是完全一致的,而在2.x中以’xxx’表示的str就必须写成b’xxx’,以此表示“二进制字符串”。
- 除法差异
在Python 2.x中,对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“地板除”;
而在Python 3.x中,所有的除法都是精确除法,地板除用//表示 - 类定义
Python2:class TaskRoller(object):
Python3:class TaskRoller: - 编码格式
python2默认以ASCII编码,
Python3源码文件以 UTF-8 编码 - Python3:八进制数必须写成0o777,原来的形式0777不能用了;二进制必须写成0b111
- 重新加载模块
在 Python 2.x 中,reload() 是内置函数
在 Python 3.0 - 3.3 中,可以使用 imp.reload(module)
在 Python 3.4 中,imp 已经被废弃,取而代之的是 importlib:
importlib.import_module(module) - Urllib
Python2中,urllib、urllib2、urlparse、robotparser是独立的模块;
Python3中,3.0版本中已经将urllib2、urlparse、和robotparser并入了urllib中 - xrange
Python2中,xrange
Python3中,range - nonlocal
python2中,无nonlocal,内层函数无法改变外层函数变量,只能通过变通的方法,即使用可变的对象,例如dict、对像的属性等
python3中,新增nonlocal关键字,用于内层函数改变外层函数变量 - raw_input
Python 2.x 中,raw_input() 会从标准输入(sys.stdin)读取一个输入并返回一个字符串,且尾部的换行符从末尾移除
Python 3 中,将 raw_input() 重命名为 input(),这样一来,无须导入也能从标准输入获得数据了。如果您需要保留版本 2.x 的 input() 功能,可以使用 eval(input()),效果基本相同。
【python-基础】python2与python3差异比较
最新推荐文章于 2024-04-30 18:59:54 发布