python3和python2的区别

文章目录

      • 区别
        • ['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的。

相关推荐
smj2302_7968265227 分钟前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
阿正呀1 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
九转成圣1 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio1 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
2501_901200531 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
laowangpython1 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫2 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch2 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI2 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0012 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript