【python-基础】python2与python3差异比较

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值