前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >入门新手是用Python2还是Pythony3?不同在哪里?

入门新手是用Python2还是Pythony3?不同在哪里?

作者头像
企鹅号小编
发布2018-02-07 15:12:35
6170
发布2018-02-07 15:12:35
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

1. print不再是句子,而是函数,比方本来是 print 'abc' 现在是 print('abc')可是 python2.6+ 能够运用 from __future__ import print_function 来完成相同功能

2. 在Python 3中,没有旧式类,只要新式类,也就是说不必再像这样 class Foobar(object): pass 显式地子类化object可是最好仍是加上. 首要差异在于 old-style 是 classtype 类型而 new-style 是 type类型

3. 本来1/2(两个整数相除)结果是0,现在是0.5了python 2.2+ 以上都能够运用 from __future__ import division 完成改特性, 一起留意 // 替代了之前的 / 运算

4. 新的字符串格式化办法format替代%错误, 从 python2.6+ 开始已经在str和unicode中有该办法, 一起 python3仍然支撑 % 算符

5. xrange重命名为range一起更改的还有一系列内置函数及办法, 都返回迭代器目标, 而不是列表或者 元组, 比方 filter, map, dict.items 等

6. !=替代 < > python2 也很少有人用 < > 所以不算什么修正

7. long重命名为int不完全对, python3 彻底抛弃了 long+int 双整数完成的办法, 一致为 int , 支撑高精度整数运算

8. except Exception, e变成except (Exception) as e只要 python2.5 及以下版本不支撑该语法. python2.6 是支撑的. 不算新东西

9. exec变成函数相似 print() 的改变, 之前是句子.

简略弥补下*

首要是类库的改变, 组织结构变了些. 但功能没变. urlparse - > urllib.parse 这样的改变* 最核心的改变它没有说, 对 bytes 和 原生 UNICODE 字符串的支撑, 删除了 unicode 目标, str 为原生 unicode 字符串, bytes 替代了之前的 str 这个是最核心的.* 其它... 形似不怎么重要了

本文来自企鹅号 - web前端那些事媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - web前端那些事媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档