python第七十课——python2与python3的一些区别
1.性能:
py3.x起始比py2.x效率低,但是py3.x有极大的优化空间,效率正在追赶 2.编码:
py3.x原码文件默认使用utf-8编码,使得变量名更为广阔
中国='CHI'
print(中国) #结果为:CHI
3.语法:
3.1 去除了<>,改用!=
#python2
>>> 1<>2
True >>> 1!=2
True #python3
>>> 1<>2
File "<stdin>", line 1
1<>2
^
SyntaxError: invalid syntax >>> 1!=2
True
3.2 加入as和with关键字,还有True,False,None 3.3 整型触发返回浮点数,整除请使用//
#python2
>>> 5/3
1 >>> 5.0/3
1.6666666666666667 #python3
>>> 5/3
1.6666666666666667
3.4 加入nonlocal语句 3.5 去除print语句,加入print()函数
# py2.x
print 'The answer is',2*2 #py3.x
print('The answer is',2*2)
3.6 去除了raw_input,加入input()函数 3.7 新的super(),可以不再给super()传参数
class C(object):
def __init__(self,a):
print('C',a)
class D(C):
def __init__(self,a):
super().__init__(a) #无参数调用super()
3.8 改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时抛出
TypeError而不是返回随即的bool值
#python2
>>> 2<""
True #python3
>>> 2<""
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: '<' not supported between instances of 'int' and 'str'
3.9 新式的8进制字变量
#python2
>>> 0666
438 #python3
>>> 0666
File "<stdin>", line 1
0666
^
SyntaxError: invalid token >>> 0o666
438
4.字符串和字节串
python2:字符串以8-bit字符串存储 python3:字符串以16-bit Unicode字符串存储,
现在字符串只有str一种类型 5.数据类型
5.1 Py3.x去除了long类型,现在只有一种类型--int,但它的行为就像2.x版本的long 5.2 新增了bytes类型,对应于2.x版本的八位串
>>> b=b'china'
>>> b
b'china'
>>> type(b)
<class 'bytes'>
str对象和bytes对象可以使用.encode()(str->bytes) or .decode()(bytes->str)方法相互转化 6.面向对象
引入抽象基类 7.异常
所有异常都从BaseException继承,并删除了StardardError
#python2
try:
#....
except Exception,e:
#....
#python3
try:
#....
except Exception as e:
#....
8.其他
8.1 xrange()改名为range(),要想使用range()获得一个list,必须显调用
#python2
>>> list(xrange(5))
[0, 1, 2, 3, 4] #python3
>>> list(range(5))
[0, 1, 2, 3, 4]
8.2 file类被废弃
#python2
>>> file
<type 'file'> 打开文件:
file(path)
open(path) #python3
>>> file
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'file' is not defined
打开文件:
open(path)
返回目录
python第七十课——python2与python3的一些区别的更多相关文章
- python版本坑:md5例子(python2与python3中md5区别)
对于一些字符,python2和python3的md5加密出来是不一样的. Python2 和Python3MD5加密 # python2.7 pwd = "xxx" + chr(1 ...
- 孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9并使用pydocx模块将结果写入word文档
孤荷凌寒自学python第七十九天开始写Python的第一个爬虫9 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 到今天终于完成了对docx模块针对 ...
- 孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5
孤荷凌寒自学python第七十五天开始写Python的第一个爬虫5 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...
- python解释器的安装;python2与python3同时在环境变量中时的解决方案
新文档 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...
- CentOS7保留默认Python版本并安装更新Python2和Python3共存
CentOS 7 默认的python版本是python2.7.5.因为yum依赖于默认的python版本的缘由,所以要先保留默认版本,并修改yum文件头部后,才能开始安装更新python2和pytho ...
- 孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6
孤荷凌寒自学python第七十六天开始写Python的第一个爬虫6 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 不过由于对python-docx模 ...
- 孤荷凌寒自学python第七十四天开始写Python的第一个爬虫4
孤荷凌寒自学python第七十四天开始写Python的第一个爬虫4 (完整学习过程屏幕记录视频地址在文末) 今天在上一天的基础上继续完成对我的第一个代码程序的书写. 直接上代码.详细过程见文末屏幕录像 ...
- 孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3
孤荷凌寒自学python第七十天学习并实践beautifulsoup对象用法3 (完整学习过程屏幕记录视频地址在文末) 今天继续学习beautifulsoup对象的属性与方法等内容. 一.今天进一步了 ...
- 字符编码 + python2和python3的编码区别(day08整理)
目录 昨日回顾 二十三.元组内置方法 二十四.散列表 二十五.字典内置方法 二十六.集合内置方法 二十七.深浅拷贝 拷贝 浅拷贝 深拷贝 今日内容 二十八.字符编码 1.文本编辑器存储信息的过程 2. ...
随机推荐
- Java学习笔记之——构造方法
构造方法:方法名和类名相同且没有返回值 1.作用 创建对象 对象初始化 2.普通方法的结构 权限修饰符 返回值类型 方法名(形参){ 方法体: } 3. 构造方法的结构 (1)结构 权限修饰符 方法名 ...
- IntelliJ IDEA生成live template(代码模板)
IntelliJ IDEA生成live template(代码模板) 一.进入live template模板 快捷键:Ctrl+Shift+A进入Find Action,输入live template ...
- (一):C++分布式实时应用框架----整体介绍
C++分布式实时应用框架 (Cpp Distributed Real-time Application Framework) 版权声明:本文版权及所用技术归属smartguys团队所有,对于抄袭,非经 ...
- DevExpress ChartControl ViewType.Line
源码地址:https://files.cnblogs.com/files/lanyubaicl/ChartControl.Line.7z public partial class Form1 : Fo ...
- 04-HTML-图片标签
<html> <head> <title>图片标签学习</title> <meta charset="utf-8"/> ...
- 【读书笔记】iOS-更改编辑器键的绑定
一,Xcode-->Preferences--->Key Bindings. 参考资料:<Xcode实战开发>
- 环信easeui集成:坑总结2018(二)
环信EaseUI 集成,集成不做描述,看文档即可,下面主要谈一些对easeui的个性化需求修改. 该篇文章将解决的问题: 1.如何发送视频功能 2.未完待续.. ------------------- ...
- VMWare上的ubuntu系统安装VMWare Tools(图文)
一.启动vm,点击这里安装 二.将文件复制到桌面 三.在终端用命令,把文件解压到桌面 四.执行安装命令 sudo ./vmware-install.pl 五.效果图
- mac date命令详解
Mac下的date命令是BSD(Berkeley Software Distribution)系的,Linux下date命令是GNU(GNU's Not Unix)系,二者用法有一些区别. BSD并不 ...
- A problem has been detected and windows has been shut down to prevent damage to your computer.他么啥意思?看这里!【蓝屏】
A problem has been detected and windows has been shut down to prevent damage to your computer. 检测到问 ...