国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python 2與Python 3版本和編碼的對(duì)比

2020-02-23 04:22:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

一、版本對(duì)比

首先要說(shuō)的是,Python的版本,目前主要分為兩大類:

Python 2.x的版本的,被稱為Python2:是目前用的最廣泛的,比如Python 2.7.3。

Python 3.x的版本的,被稱為Python3:是最新的版本的,比如Python 3.1。長(zhǎng)遠(yuǎn)來(lái)看,也算是以后的趨勢(shì)。

【Python2和Python3之間的區(qū)別】

1.從Python2到Python3,很多基本的函數(shù)接口變了,甚至是,有些庫(kù)或函數(shù)被去掉了,改名了

     Python2和Python3,在很多基本的,最常用的函數(shù)方面,接口都變了,最典型的就要數(shù)大家最常用的print函數(shù)了。

2.第三方庫(kù)的支持方面,目前來(lái)說(shuō),還是Python2支持的最好,Python3支持的不太夠

     Python強(qiáng)大的原因之一是第三方的庫(kù)很多,功能很強(qiáng)大。

     而目前很多Python的第三方的庫(kù),很多只提供Python2的。

     或者是即使提供了Python3的,但是也不一定很成熟。

二、編碼對(duì)比

在 Python 中,不論是 Python2 還是 Python3 中,總體上說(shuō),字符都只有兩大類:

    通用的 Unicode 字符; (unicode 被編碼后的)某種編碼類型的字符,比如 UTF-8,GBK 等類型的字符。

Python2 中字符的類型:

str: 已經(jīng)編碼后的字節(jié)序列 unicode: 編碼前的文本字符

Python3 中字符的類型:

str: 編碼過(guò)的 unicode 文本字符 bytes: 編碼前的字節(jié)序列

我們可以認(rèn)為字符串有兩種狀態(tài),即文本狀態(tài)和字節(jié)(二進(jìn)制)狀態(tài)。Python2 和 Python3 中的兩種字符類型都分別對(duì)應(yīng)這兩種狀態(tài),然后相互之間進(jìn)行編解碼轉(zhuǎn)化。編碼就是將字符串轉(zhuǎn)換成字節(jié)碼,涉及到字符串的內(nèi)部表示;解碼就是將字節(jié)碼轉(zhuǎn)換為字符串,將比特位顯示成字符。

在 Python2 中,str 和 unicode 都有 encode 和 decode 方法。但是不建議對(duì) str 使用 encode,對(duì) unicode 使用 decode, 這是 Python2 設(shè)計(jì)上的缺陷。Python3 則進(jìn)行了優(yōu)化,str 只有一個(gè) encode 方法將字符串轉(zhuǎn)化為一個(gè)字節(jié)碼,而且 bytes 也只有一個(gè) decode 方法將字節(jié)碼轉(zhuǎn)化為一個(gè)文本字符串。

Python2 的 str 和 unicode 都是 basestring 的子類,所以兩者可以直接進(jìn)行拼接操作。而 Python3 中的 bytes 和 str 是兩個(gè)獨(dú)立的類型,兩者不能進(jìn)行拼接。

Python2 中,普通的,用引號(hào)括起來(lái)的字符,就是 str;此時(shí)字符串的編碼類型,對(duì)應(yīng)著你的 Python 文件本身保存為何種編碼有關(guān),最常見(jiàn)的 Windows 平臺(tái)中,默認(rèn)用的是 GBK。Python3 中,被單引號(hào)或雙引號(hào)括起來(lái)的字符串,就已經(jīng)是 Unicode 類型的 str 了。

對(duì)于 str 為何種編碼,有一些前提:

    Python 文件開(kāi)始已經(jīng)聲明對(duì)應(yīng)的編碼 Python 文件本身的確是使用該編碼保存的 兩者的編碼類型要一樣(比如都是 UTF-8 或者都是 GBK 等)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高清| 临海市| 祁阳县| 太仓市| 财经| 阳曲县| 高陵县| 赤峰市| 海安县| 通化县| 和田市| 安康市| 邹城市| 天水市| 福贡县| 石嘴山市| 家居| 黄陵县| 永登县| 绿春县| 蒙山县| 晋州市| 和硕县| 康马县| 大庆市| 虎林市| 册亨县| 运城市| 连江县| 嵩明县| 岗巴县| 嵊泗县| 峡江县| 无极县| 阿拉善右旗| 瑞金市| 苍南县| 卢龙县| 会宁县| 库尔勒市| 卓尼县|