说说你知道的Python3和Python2之间的区别?

开课吧开课吧锤锤2021-05-27 12:06

点赞
有用
分享分享

    Python是一门语法简洁优美,功能强大无比,应用领域非常广泛,具有强大完备的第三方库的一门强类型的动态,可移植,可扩展,可嵌入的解释型编程语言

PY

    编码

    Python2中字符的类型:

    str:已经编码后的字节序列

    unicode:编码前的文本字符

    Python3中字符的类型:

    str:编码过的unicode文本字符

    bytes:编码前的字节序列

    我们可以认为字符串有两种状态,即文本状态和字节(二进制)状态。Python2和Python3中的两种字符类型都分别对应这两种状态,然后相互之间进行编解码转化。编码就是将字符串转换成字节码,涉及到字符串的内部表示;解码就是将字节码转换为字符串,将比特位显示成字符。在Python2中,str和unicode都有encode和decode方法。但是不建议对str使用encode,对unicode使用decode,这是Python2设计上的缺陷。Python3则进行了优化,str只有一个encode方法将字符串转化为一个字节码,而且bytes也只有一个decode方法将字节码转化为一个文本字符串。

    Python2中需要在文件头打上注释#coding:utf-8指定该程序使用的编码格式为UTF-8

    print

    Python2中的print是class

    Python3中的print是函数

    Python2的print声明已经被print()函数取代了,这意味着我们必须包装我们想打印在小括号中的对象。

    所以我们输出格式为

print("")    # py3

print ""     # py2
print("")

    input

    解析输入为str字符型

    Python2:input解析输入为int型,raw_input解析输入为str类型

    算术符

    Python3中/表示真除,%表示取余,//结果取整;Python2中带上小数点/表示真除,%表示取余,//结果取整

    xrange

    Python2中使用xrange()来创建一个迭代器对象,使用range()创建一个list数组;

    Python3中使用range()创建迭代器对象,移除了xrange()方法。

    以上就是开课吧小编为大家整理的“说说你知道的Python3和Python2之间的区别?”更多Python教程尽在开课吧广场Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享

相关文章

全部评论(共 1 条评论)
登录 后可发表观点…
发表
  • 大黄峰
    py2:print语句,语句就意味着可以直接跟要打印的东西,如果后面接的是一个元组对象,直接打印 py3:print函数,函数就以为这必须要加上括号才能调用,如果接元组对象,可以接收多个位置参数,并可以打印
    2021-05-27 18:49:33
零基础轻松入门Python