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 ...
随机推荐
- 一些有价值的Blog推荐
待看的一些文章 1. 性能调优攻略 http://coolshell.cn/articles/7490.html 2. 内存的存储管理--段式和页式管理的区别 http://blog.sina.com ...
- 设计模式,Let's “Go”! (上)
code[class*="language-"], pre[class*="language-"] { background-color: #fdfdfd; - ...
- 【设计经验】1、Verilog中如何规范的处理inout信号
在FPGA的设计过程中,有时候会遇到双向信号(既能作为输出,也能作为输入的信号叫双向信号).比如,IIC总线中的SDA信号就是一个双向信号,QSPI Flash的四线操作的时候四根信号线均为双向信号. ...
- Java设计模式----解释器模式
计算器中,我们输入“20 + 10 - 5”,计算器会得出结果25并返回给我们.可你有没有想过计算器是怎样完成四则运算的?或者说,计算器是怎样识别你输入的这串字符串信息,并加以解析,然后执行之,得出结 ...
- cad.net DeepCloneObjects WasErased
/// <summary> /// 克隆图元到块表记录 /// </summary> /// <param name="objId">id数组& ...
- 腾讯云播放器更新——TCplayer
概述 最近腾讯云播放器进行了更新,增加了TCplayer,支持点播播放.由于工作需要,了解了一下TCplayer,把心得记录下来,供以后开发时参考,相信对其他人也有用. 参考文档: TCPlayer开 ...
- mysql之CREATE DATABASE Syntax(创建数据库)
一:语法 CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name #SCHEMA是DATABASE的同义词 [IF NOT EXITTS]可防止建库是已经 ...
- spring boot -thymeleaf-日期转化
<span th:text="${#dates.format(date)}" ></span><span th:text="${#dates ...
- HTTPS 怎样保证数据传输的安全性
大家都知道,在客户端与服务器数据传输的过程中,HTTP协议的传输是不安全的,也就是一般情况下HTTP是明文传输的.但HTTPS协议的数据传输是安全的,也就是说HTTPS数据的传输是经过加密的. 在客户 ...
- python TypeError: 'int' object is not callable 问题解决
TypeError: 'int' object is not callable 这个错误的原因很简单 看下面的程序: def loss(a,b): return a-b loss = 0 loss = ...