python2和python3的一些区别
性能:py3.x起始比py2.x效率低,但是py3.x有极大的优化空间,效率正在追赶。
编码:py3原码文件默认utf-8编码,使得变量名更为广阔。
语法:1,去除了 <> ,改用了 !=
2,加入了as和with关键字,还有True,False,None
3,整型触发返回浮点数,整除使用了‘//’
4,去除了print语句,加入了print函数
5,去除了raw_input,加入了input()函数
6,新的super(),在继承父类的时候乐意不再给super()传参数
7,改变了顺序操作符的行为,例如x<y,当x和Y类型不匹配时抛出TypeError,而不是返回bool值
字符串和字节串:
py2中字符串是以8-bit 字符串存储
py3中字符串以16-bit Unicode字符串存储,现在的字符串只有str一种类型
数据类型:
py3中去除了long类型,现在只有一中整型-- int,但它的行为就像2.x版本的long
新增了bytes类型,对应于2.x版本的八位串。str对象和bytes对象可以使用 .encode ()(str ->bytes) or .decode()(bytes -> str)方法相互转化
面向对象:引入了抽象基类
异常:所有异常都从BaseException继承,并删除了StardardError
py2:
try:
......
except Excetion, e:
......
py3:
try:
.....
except Exception as e:
......
其他 :
range和xrange的区别:
py2中:
range 函数说明:range( [start,] stop [,step]),根据start与stop指定的范围及step设定的步长,生成一个序列。 xrange 函数说明:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器
py3:
已经将xrange函数删除,range函数同py2中的xrange函数用法相同
file类被废弃:
打开文件直接使用 open(path)
最新文章
- phpstorm常用功能&;快捷键(mac)
- 简单工程使用sbt公共库(sbt-assembly)
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
- VS2010下 LibVLC开发环境搭建
- php静态方法与非静态方法在性能上有什么区别?
- AutoMapper使用说明
- swift -- 静态变量static
- 从RGB色转为灰度色算法
- Spring MVC 学习笔记一 HelloWorld
- thinkphp实现无限级分类
- 关于python如果没有numpy模块如何处理
- 网络通信 -->; 消息队列
- Java基础系列--01_基础类型
- 设置永久环境变量linux
- windows(xshell)免密码登录
- golang 反射
- iOS-按钮单选与多选逻辑处理
- 判断Selenium加载完成
- ssm demo,用户角色权限管理
- poj 2255 Tree Recovery 分治