文章目录
-
-
- 区别
-
- ['start_new_thread' 不可调用](#'start_new_thread' 不可调用)
-
Python 2 和 Python 3 是 Python 语言发展史上的两个主要版本。Python 2 已于 2020 年 1 月 1 日正式停止维护(EOL),不再接收安全更新或功能修复。 目前所有的新项目都应使用 Python 3(推荐)。
为什么记录这个呢?因为实际遇到有些报错,就是因为使用了老版本的代码,记录下便于快速定位。
区别
| 特性 | Python 2 (已废弃) | Python 3 (当前标准) | 影响程度 |
|---|---|---|---|
| 打印语句 | print "Hello" (语句) |
print("Hello") (函数) |
⭐⭐⭐ (语法错误) |
| 整数除法 | 5 / 2 = 2 (向下取整) |
5 / 2 = 2.5 (浮点除法) |
⭐⭐⭐ (逻辑错误) |
| 字符串编码 | str 是 ASCII 字节串 |
str 是 Unicode 文本,bytes 是字节 |
⭐⭐⭐ (乱码/崩溃) |
| 输入函数 | input() 执行代码,raw_input() 读字符串 |
input() 读字符串,raw_input() 已移除 |
⭐⭐ (安全/逻辑) |
| 范围生成 | range() 返回列表,xrange() 返回迭代器 |
range() 返回迭代器,xrange() 已移除 |
⭐ (性能) |
| 异常处理 | except Exception, e: |
except Exception as e: |
⭐⭐ (语法错误) |
| 迭代器 | .next() 方法 |
__next__() 方法 / next() 函数 |
⭐ (兼容性) |
| 类型检查 | type(1) is int (有时需小心) |
类型体系更清晰,int 统一了 long |
⭐ |
| 元类语法 | __metaclass__ 属性 |
class MyClass(metaclass=MyMeta): |
⭐ |
'start_new_thread' 不可调用
也是版本问题,start_new_thread是python2的。