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的更多相关文章

  1. python2 python3区别(续)

    1.除法 Python2 Python3 int/int → int int/int → float python2下整数除以整数返回整数类型,python3下整数除以整数返回浮点数类型 当某些语句假 ...

  2. python2 python3区别

    Python开发团队将在2020年1月1日停止对Python2.7的技术支持,但python2的库仍然比较强大(在 pip 官方下载源 pypi 搜索 Python2.7 和 Python3.5 的第 ...

  3. Ubuntu安装Python2+Python3

    sudo apt-get install python2.7 python2.7-dev sudo apt-get install python3 命令: python 默认执行python2 pyt ...

  4. Ubuntu16.04 下python2 | python3

    在终端分别输入python,python2,python3 python和python2默认都是python2 python3才是python3 Ubuntu下是默认没有pip的,需要自己手动安装 s ...

  5. windows和linux下 Python2,Python3 的环境及安装

    目录 windows和linux下 Python2,Python3 的环境及安装 window下安装 一. 手动安装 二. pip安装 linux下 安装 更新Python 笔者有话 windows和 ...

  6. 同时安装 Python2 & Python3 cmd下版本自由选择

    系统:win7 python2.7,python3.6同时安装,于是问题来了,python27与python36文件夹下的文件名都是python.exe 这样在cmd下,直接输入python,自动执行 ...

  7. Python之路Python3【第零篇】Python2 & Python3区别持续更新~

    print def print(self, *args, sep=' ', end='\n', file=None): # known special case of print "&quo ...

  8. Mac打造python2 python3开发环境

    最新版的MacOS Sierra默认带的python环境仍然为2.7.10,本文将介绍使用Brew安装python3.5并做简单的配置,打造python2,python3共存的开发环境 直接尝试bre ...

  9. 一台电脑 一起跑python2 python3

    我习惯使用python2.7,命令都是使用的python和pip,这时候装了python3.4,首先到python3下修改python.exe,pythonw.exe为python3.exe,pyth ...

随机推荐

  1. mysql 存储过程 CONCAT 字符串拼接

    mysql 存储过程 CREATE PROCEDURE pro_province_report (IN startDate VARCHAR(),IN endDate VARCHAR(),IN Sour ...

  2. 使用ILMerge 打包C# 绿色免安装版程序

    使用ILMerge工具,将C#项目debug目录下的exe及其依赖的dll文件打包成一个exe文件,直接双击就可运行. 使用工具: ILMerge :http://www.microsoft.com/ ...

  3. HTML各个版本以及对应doctype

    HTML发布的正式历史版本: 1.HTML2.0 2.HTML3.2 3.HTML4.0 4.HTML4.01 5.XHTML1.0 6.XHTML1.1 7.XHTML2.0  中途放弃,未完成 8 ...

  4. Eclipse 中打包插件 Fat Jar 的安装与使用

    Eclipse可以安装一个叫Fat Jar的插件,用这个插件打包非常方便,Fat Jar的功能非常强大. 首先要下载Fat Jar,下载地址:https://sourceforge.net/proje ...

  5. LabVIEW(十六):多列列表框控件

    1.多列列表框控件:前面板右键>列表.表格和树>多列列表框2.默认情况下只显示列首,可设置显示行首:前面板选中多列列表框右键>显示>行首3.LabVIEW中提供42种自带的图标 ...

  6. Linux下MySQL的简单操作

    Linux下MySQL的简单操作 更改mysql数据库root的密码 首次进入数据库是不用密码的: [root@localhost ~]# /usr/local/mysql/bin/mysql -ur ...

  7. nRF52832 矩阵按键调试 同一列上的按键 任意两个按键 按下 检测不到低电平(电平拉不下来)

    参考链接:https://blog.csdn.net/zhanghuaishu0/article/details/78505045 调试过程中发现 同一列上的按键 任意两个按键 按下 检测不到低电平( ...

  8. Python基础教程(第3版) 笔记(三)

    1.9.1让脚本像普通程序一样在UNIX中运行脚本,只需将下面的代码作为脚本的第一行, 就可在UNIX中轻松运行脚本: #!/usr/bin/env python 要像普通程序一样运行脚本,还必须将其 ...

  9. .NET 构造DataTable返回多个json值

    有时候我们使用Ajax链接一般处理程序需要返回多个值,然而这些数据并非在一个查询表内,此时便想到构造一个虚拟的DataTable,这样就可以返回多个值了(当然有很多办法,这是其中一种 ). 首先我们需 ...

  10. Java的语法糖

    1.前言 本文记录内容来自<深入理解Java虚拟机>的第十章早期(编译期)优化其中一节内容,其他的内容个人觉得暂时不需要过多关注,比如语法.词法分析,语义分析和字节码生成的过程等.主要关注 ...