欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年02月14日 10:46:46   作者:Huoty  
這篇文章主要介紹了Python 2與Python 3版本和編碼的對(duì)比,文中介紹的很詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

一、版本對(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ō),字符都只有兩大類:

  1. 通用的 Unicode 字符;
  2. (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 為何種編碼,有一些前提:

  1. Python 文件開(kāi)始已經(jīng)聲明對(duì)應(yīng)的編碼
  2. Python 文件本身的確是使用該編碼保存的
  3. 兩者的編碼類型要一樣(比如都是 UTF-8 或者都是 GBK 等)

這樣 Python 解析器才能正確的把文本解析為對(duì)應(yīng)編碼的 str。

總體來(lái)說(shuō),在 Python3 中,字符編碼問(wèn)題得到了極大的優(yōu)化,不再像 Python2 那么頭疼。在 Python3 中,文本總是 Unicode, 由 str 類型進(jìn)行表示,二進(jìn)制數(shù)據(jù)使用 bytes 進(jìn)行表示,不會(huì)將 str 與 bytes 偷偷的混在一起,使得兩者的區(qū)別更加明顯。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家學(xué)習(xí)或使用python能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • python設(shè)置代理和添加鏡像源的方法

    python設(shè)置代理和添加鏡像源的方法

    這篇文章主要介紹了python設(shè)置代理和添加鏡像源介紹,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python超詳細(xì)實(shí)現(xiàn)字體反爬流程

    python超詳細(xì)實(shí)現(xiàn)字體反爬流程

    大家好,本篇文章主要講的是python查策網(wǎng)字體反爬實(shí)例,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-05-05
  • Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤

    Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤

    這篇文章主要介紹了Python程序員開(kāi)發(fā)中常犯的10個(gè)錯(cuò)誤,不知道你有沒(méi)有中槍呢,需要的朋友可以參考下
    2014-07-07
  • Python3.8安裝Pygame教程步驟詳解

    Python3.8安裝Pygame教程步驟詳解

    這篇文章主要介紹了Python3.8安裝Pygame教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • python 生成空字符串的5種方法

    python 生成空字符串的5種方法

    有時(shí)候我們需要生成一個(gè)空的字符串,本文就來(lái)介紹一下python 生成空字符串的5種方法,包括使用空的單引號(hào)或雙引號(hào)、使用str函數(shù)、字符串連接、字符串格式化以及字符串乘法,感興趣的可以了解一下
    2024-01-01
  • python二叉樹(shù)類以及其4種遍歷方法實(shí)例

    python二叉樹(shù)類以及其4種遍歷方法實(shí)例

    二叉樹(shù)是一種特殊的樹(shù),最直觀地體現(xiàn)于它的每個(gè)節(jié)點(diǎn)至多有兩個(gè)子節(jié)點(diǎn),二叉樹(shù)是非常實(shí)用的一種數(shù)據(jù)結(jié)構(gòu),常常用于實(shí)現(xiàn)二叉查找樹(shù)及二叉堆等,下面這篇文章主要給大家介紹了關(guān)于python二叉樹(shù)類以及其4種遍歷方法的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • pandas中df.rename()的具體使用

    pandas中df.rename()的具體使用

    本文主要介紹了pandas中df.rename()的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法

    這篇文章主要介紹了詳解Python的hasattr() getattr() setattr() 函數(shù)使用方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07
  • tensorflow 實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

    tensorflow 實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換

    今天小編就為大家分享一篇tensorflow 實(shí)現(xiàn)數(shù)據(jù)類型轉(zhuǎn)換,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python人工智能實(shí)戰(zhàn)之以圖搜圖的實(shí)現(xiàn)

    Python人工智能實(shí)戰(zhàn)之以圖搜圖的實(shí)現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了如何基于vgg網(wǎng)絡(luò)和Keras深度學(xué)習(xí)框架實(shí)現(xiàn)以圖搜圖功能。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以學(xué)習(xí)一下
    2022-05-05

最新評(píng)論