志在指尖
用双手敲打未来

python和python3有什么区别(python3是什么)

python和python3有什么区别

1、不等于<>比较运算符,python3不辨认,pyhon2.7中!=和<>都能运转。
2、print函数的运用,python3有必要加括号,python2加不加都行。
3、py2的默许编码是ASCII,py3的默许编码是UTF-8。
4、py3字符串解码后会在内存里自动转换成Unicode,而py2不会。假如在文件头指定了解码编码,py2和py3都会按指定解码,所有系统都支撑Unicode,所以py3只需指定对了解码编码,在哪个系统上都能够正常显现,py2假如不是gbk编码的,解码后windous就会是乱码。
5、py2中有Unicode数据类型,py3中没有,字符串都是Unicode格局的str数据类型。
6、py2中bytes可所以二进制,也可所以str,py3中bytes只是十六进制表明的二进制。
7、py2中有long类型数据,py3中没有,py2中int最大值是-2**31~2**31-1超过在后面加L转换为long型。(直接运算会显现long型,由于2**31会先运算,是long型)
8、用户输入不同,py3中只有input()输出都是str和py2中的raw_input()一样,而py2中也有input(),输入字符串要带引号,数字输出相应的数字类型
9、Py2以前没有布尔型,0表明False,用1表明True;Python3把True和False界说成关键字,它们的值还是1和0,能够和数字运算。
10、py2中range()直接生成列表(量大占内存死机),py3中只有range()和py2中还有的xrang()都只生成一个生成器(一个计算方法,不占内存)。
11、py2的除法中不是浮点数则只返回商,py3除法返回值正常。
12、py3运转程序能够辨认相同目录下普通文件夹中的模块,py2只能辨认文件夹标识后的包中的模块。
13、创立类时,py2分为经典类和新式类,新式类就是承继object的类,经典类是没有承继的类,而py3中全部是新式类,默许承继object。在特点查找时,经典类查找方法为深度优先,新式类是广度优先。仅py3中有类的mro函数方法,输出承继父类的次序列表。
14、重用父类特点的super()运用方法不同,py2中super()需要输入本身类名和自身作为参数,而py3中不必输入参数,能够直接运用代替上一级父类。

python3是什么

许多针对前期Python版别设计的程式都无法在Python3.0上正常履行。
为了照顾现有程式,Python2.6作为一个过渡版别,根本运用了Python2.x的语法和库,一起考虑了向Python3.0的迁移,答应运用部分Python3.0的语法与函数。
新的Python程式建议运用Python3.0版别的语法。
除非履行环境无法安装Python3.0或者程式自身运用了不援助Python3.0的第三方库。目前不援助Python3.0的第三方库有Twisted,py2exe,PIL等。
大大都第三方库都正在努力地相容Python3.0版别。即使无法立即运用Python3.0,也建议编写相容Python3.0版别的程式,然后运用Python2.6,Python2.7来履行。
Python3.0的变化主要在以下几个方面
print句子没有了,取而代之的是print()函数。
Python2有ASCIIstr()类型,unicode()是独自的,不是byte类型。
现在,在Python3,咱们最终有了Unicode(utf-8)字符串,以及一个字节类:byte和bytearrays。
在python3.x中/除法不再这么做了,关于整数之间的相除,结果也会是浮点数。
在Python3中处理反常也轻微的改变了,在Python3中咱们现在运用as作为关键词。
捕获反常的语法由exceptexc,var改为exceptexcasvar。
在Python3中,range()是像xrange()那样完成以至于一个专门的xrange()函数都不再存在(在Python3中xrange()会抛出命名反常)。
在Python3.x中,表明八进制字面量的办法只要一种,便是0o1000。
Python3.x中去掉了<>,只要!=一种写法,还好,我从来没有运用<>的习气
Python3.x中去掉了“这种写法,只答应运用repr函数,这样做的目的是为了使代码看上去更清晰么?不过我感觉用repr的机会很少,一般只在debug的时分才用,大都时分仍是用str函数来用字符串描述目标。
多个模块被改名(依据PEP8)
Py3.X去除了long类型,现在只要一种整型——int,但它的行为就像2.X版别的long
新增了bytes类型,对应于2.X版别的八位串,界说一个bytes字面量的办法如下:
str目标和bytes目标能够运用.encode()(str->bytes)or.decode()(bytes->str)办法相互转化。
dict的.keys()、.items和.values()办法返回迭代器,而之前的iterkeys()等函数都被抛弃。一起去掉的还有dict.has_key(),用in替代它吧。

未经允许不得转载:IT技术网站 » python和python3有什么区别(python3是什么)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载