python2&python3
1、Python3 使用 print 必须要以小括号包裹打印内容,比如 print('hi')
Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print 'hi'
2、Python2 range(1,10)返回列表,Python3中返回迭代器,节约内存
3、Python2 中使用ascii编码,Python3中使用utf-8编码
4、Python2 中unicode表示字符串序列,str表示字节序列
Python3 中str表示字符串序列,byte表示字节序列
5、Python2 中为正常显示中文,引入coding声明,Python3中不需要
6、Python2 中是raw_input()函数,Python3中是input()函数
7、Python2 导入同级目录下的模块无需 . Python3导入同级目录下的模块需要加上 .
| python2 | python3 |
| 1. 编码方面 | |
| ASCII编码 -- str类型 Unicode编码 -- Unicode类型 | Unicode编码 -- str类型 非Unicode编码 -- 字节类型: bytes & bytearrays |
| python2创建的字符串根据操作系统而定, Linux下为 utf-8, 简体中文Windows下为 GBK, ipython2默认为 utf-8 | python3&ipython3创建的字符串为: Unicode编码 -- str类型 的字符串, 源码文件默认为utf-8 |
| 2. 语法方面 | |
| 除法运算 / , 整数运算时会把小数部分完全忽略掉, 浮点数运算时会保留一位小数. | 进行整数运算时, 结果仍为浮点数 |
| xrange 返回一个生成器, 需生成较大的数字序列时, xrange性能更优. | range 生成一个list对象 |
| zip()函数返回列表 | zip()函数返回迭代器 |
| 不等运算符包括: != 和 <> | 仅包含 != |
| 反引号 `` & repr函数 | 仅允许使用 repr函数 |
| exec 语句 | exec() 函数 |
| print 语句 | print() 函数 |
|
a. 异常捕获的语法 : except exc, var b. 所有异常类型的对象都是可以被直接抛出的 c. raise语句使用了逗号 将抛出对象类型和参数分开 |
a. 使用 as 作为关键字 : except exc as var b. 只有继承自 BaseException 的对象才可以被抛出 c. 不再使用此种写法 |
|
添加关键字 : as with True False None , 添加 nonlocal语句 引入抽象基类(Abstraact Base Classes, ABCs) 容器类和迭代类被ABCs化, cellections 模块新增多个类型 |
|
| 3. 模块改名 | |
| _winreg | winreg |
| ConfigParser | configparser |
| Queue | queue |
| copy_reg | copyreg |
| SocketServer | socketserver |
| repr | reprlib |
| new, md5, gopherlib等模块被删除 | |
| 4. 数据类型 | |
| 存在 long类型, 不存在 bytes类型 | 去除 long类型, 新增 bytes类型 |
| 存在 iterkeys()等函数 | dict的.keys()、.items 和.values()方法返回迭代器, 去除 dict.has_key() , 使用 in代替 |
| 5. 输入输出 | |
| raw_input("提示信息") 得到是 str类型 , input("提示信息") 得到是 int类型 | input("提示信息") 统一得到是 str类型 |
| file( ... ) open( ... ) 打开文件 | 仅能使用 open( ... ) 或加上with |
| map()内置函数 & filter()内置函数 : <built-in function filter>, 返回列表 | map类 & filter类 : <filter object at 0x10d8bd3c8>, 返回可迭代对象 |
python2&python3的更多相关文章
- python2 python3区别(续)
1.除法 Python2 Python3 int/int → int int/int → float python2下整数除以整数返回整数类型,python3下整数除以整数返回浮点数类型 当某些语句假 ...
- python2 python3区别
Python开发团队将在2020年1月1日停止对Python2.7的技术支持,但python2的库仍然比较强大(在 pip 官方下载源 pypi 搜索 Python2.7 和 Python3.5 的第 ...
- Ubuntu安装Python2+Python3
sudo apt-get install python2.7 python2.7-dev sudo apt-get install python3 命令: python 默认执行python2 pyt ...
- Ubuntu16.04 下python2 | python3
在终端分别输入python,python2,python3 python和python2默认都是python2 python3才是python3 Ubuntu下是默认没有pip的,需要自己手动安装 s ...
- windows和linux下 Python2,Python3 的环境及安装
目录 windows和linux下 Python2,Python3 的环境及安装 window下安装 一. 手动安装 二. pip安装 linux下 安装 更新Python 笔者有话 windows和 ...
- 同时安装 Python2 & Python3 cmd下版本自由选择
系统:win7 python2.7,python3.6同时安装,于是问题来了,python27与python36文件夹下的文件名都是python.exe 这样在cmd下,直接输入python,自动执行 ...
- Python之路Python3【第零篇】Python2 & Python3区别持续更新~
print def print(self, *args, sep=' ', end='\n', file=None): # known special case of print "&quo ...
- Mac打造python2 python3开发环境
最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...
- 一台电脑 一起跑python2 python3
我习惯使用python2.7,命令都是使用的python和pip,这时候装了python3.4,首先到python3下修改python.exe,pythonw.exe为python3.exe,pyth ...
随机推荐
- windows 批处理语言学习
程序员应该根植于心的一个理念是:重复的工作交给代码.windows上的批处理脚本就是这种理念的体现. 批处理bat能做的事很多,自动配置vs工程中的代码依赖环境,调用其它程序处理数据.自动编译代码等等 ...
- elasticsearch学习之根据发布时间设置衰减函数
衰减函数decay functionion 高斯衰减 GET _search { "_source": ["title","release_date& ...
- ubuntu解压rar文件
一般通过默认安装的ubuntu是不能解压rar文件的,只有在安装了rar解压工具之后,才可以解压.其实在ubuntu下安装rar解压工具是非常简 单的,只需要两个步骤就可以迅速搞定. ubuntu 下 ...
- postgresql-无序uuid tps测试
# postgresql-无序uuid tps测试 ## 无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响.结合实际情况发现当表的数据 ...
- [每天解决一问题系列 - 0008] 关于.net framework 路径最大长度的问题
问题描述: 有时候,在copy文件的时候,会提示目录长度太大,无法copy 解决方法: 可以使用Long Path Tool 解决问题 相关解释: http://blogs.msdn.com/b/bc ...
- odoo开发笔记 -- 时区问题
odoo 时区问题 待补充 odoo默认数据库是以UTC时间存放的:这也是odoo设计优秀的地方.
- C# 算法之链表、双向链表以及正向反向遍历实现
1.简介 链表是一种非常基础的数据结构之一,我们在日常开发种都会接触到或者是接触到相同类型的链表数据结构.所以本文会使用C#算法来实现一个简单的链表数据结构,并实现其中几个简单的api以供使用. 2. ...
- Python --代码风格检查 pep8
pip3 install pycodestyle pycodestyle .. Pep8编码规范 https://blog.csdn.net/ratsniper/article/details/789 ...
- C#单元测试分享ppt
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类, ...
- Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
本文讲述spring-boot工程中使用spring-session机制进行安全认证,并且通过redis存储session,满足集群部署.分布式系统的session共享. 原文链接:https://w ...