Python2.x 和3.x 主要差异总结 开 始 使 用 Python之 后 就 到 处 宣 扬 Python如 何 如 何 好 ,宣 传 工 作 的 一 大 重 要 诀 窍 就 是 做 对 比 ,比 如 原 先 用Java的 时 候 做 个 什 么 东 西 要 写 多 少 代 码 , 怎 么 个 别 扭 , 现 在 用Python实 现 同 样的 功 能 怎 么 个 简 单 等 等 。不过谈 Python, 不管怎 么 谈, 老会谈到Python2.x和 3.x的 版本差异问题, 这个 差异真不是 一 般的 大 , 从一 个 简 单 的print到 核心库的 改进都牵扯到 了很多 , 现在 总结了一 些主要 的 差异点。 基 本 类 型 (1) 整形 在python 2.x中, 有两种整数类型, 一 般的32位整数和长整数, 长整数都是 以 L或者 l(不建议使 用 小写l, 容易跟 1搞混), 超过 32位长度之 后 会自动转换为长整形。 在python 3.x中, 允许我们更随心所欲更自然的 使 用 整数, 只有一 种类型, 没有长度限制。 python 2.x ? 1 2 >>> 1000000000000000000000000000000000 1000000000000000000000000000000000L python 3.x ? 1 2 >>> 1000000000000000000000000000000 1000000000000000000000000000000 (2) 八进制字面量表示 在Python 2.x中 , 表 示 八 进 制 字 面 量 有 两 种 方 式 , 一是同众多我们所熟悉的编程语言一样,直接在 数字 前加 0,比如 01000, 另外是加 0o(0和小写字 母 o)0o1000 在Python 3.x中 , 表 示 八 进 制 字 面 量 的方 式 只有 一种 , 就是 0o1000 python 2.x ? 1 2 3 4 >>> 0o1000 512 >>> 01000 512 python 3.x ? 1 2 3 4 5 6 7 >>> 01000 File "", line 1 01000 ^ SyntaxError: invalid token >>> 0o1000 512 运 算 符 (1) 不等于测试 Python 2.x中 不 等 于 有 两 种 写 法 != 和 <> Python 3.x中 去 掉 了 <>, 只 有 !=一 种 写 法 , 还 好 , 我 从 来 没 有 使 用 <>的 习 惯 (2) 去掉了 repr表达式`` Python 2.x 中 反 引 号 ``相 当 于repr函 数 的 作 用 Python 3.x 中 去 掉 了 ``这 种 写 法 , 只 允 许 使 用repr函 数 , 这 样 做 的 目 的 是 为 了 使 代 码 ...