python 2.7和3.5区别是什么

7次阅读

python 2.7 与 3.5 是代际 重构 的分支,核心 区别 在于语言设计:print变为函数、str/bytes 严格分离、整数除法默认真除、3.5 新增类型提示与 async/awai t 雏形等现代特性。

python 2.7 和 3.5 区别是什么

Python 2.7 和 3.5 是两个代际差异明显的版本,核心 区别 不是“小升级”,而是语言层面的重构——3.x 不是 2.x 的增强版,而是重新设计的分支。2.7 是 2.x 系列的最终维护版(2020 年已停止官方支持),3.5 则是 3.x 中首个引入关键现代特性的稳定版本。

print 变成函数,不再是语句

这是最直观的变化:Python 2 中 print "hello" 是语句;Python 3 中必须写成 print("hello")。少括号会直接报错,没有兼容余地。

字符串 字节 严格区分

Python 2 默认用 str 表示 字节 序列,unicode 表示文本,但类型混用常见且容易出错;Python 3 明确分离:str 永远是 Unicode 文本,bytes 永远是字节序列。打开文件时默认使用文本模式(UTF-8),读写二进制需显式加 b 标志(如 open("f.bin", "rb"))。

整数除法行为不同

Python 2 中 5 / 2 结果是 2(取整除);Python 3 中结果是 2.5(真除法)。要得到整除,必须用 //(如 5 // 2 → 2)。这个变化避免了隐式截断导致的逻辑错误。

立即学习Python 免费学习笔记(深入)”;

语法和 标准库 的实质性更新

Python 3.5 新增了重要特性,比如:

  • 类型提示(Type Hints):支持 def greet(name: str) -> str: 这类标注,便于 工具 检查和协作理解
  • 新增解包语法:支持 *lst 在任意位置解包(如 [1, *a, 2]
  • async/await 关键字雏形 :3.5 是首个原生支持协程语法的版本(虽完整 异步 生态在 3.6+ 成熟)
  • 标准库 精简与重命名:如 urllib2 拆分为 urllib.requesturllib.ErrorConfigParser 改为 configparser(小写模块名)

基本上就这些。迁移时最常踩坑的是字符串 编码、print 写法、除法逻辑和库导入路径——不是语法多难,而是思维惯性容易忽略底层模型变化。

以上就是

站长
版权声明:本站原创文章,由 站长 2025-12-13发表,共计899字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources