分享

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

 码农9527 2021-05-27

  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("") # py3print ""  # py2print("")1234复制代码类型:[python]

    input

    解析输入为str字符型

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

    算术符

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

    xrange

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

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

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多