国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Python3 上 bytes 和 str

NotFound / 3288人閱讀

摘要:最近學(xué),在上上這門課,就順藤摸瓜地讀了這本書。中有和兩種類型,而已經(jīng)嚴(yán)格區(qū)分了和兩種數(shù)據(jù)類型,為原來的,代替了之前的。而使用類型,實質(zhì)上是告訴,不需要它幫你自動地完成編碼和解碼的工作,而是用戶自己手動進(jìn)行,并指定編碼格式。

最近學(xué) Python,在 coursera 上上 Programming for Everybody (Getting Started with Python) 這門課,就順藤摸瓜地讀了 python for informatics 這本書。書上用的 Python2 ,電腦裝的3,有些地方不一樣。例如 str 的 translate 方法在刪除特定字符時死活不對。

調(diào)出help查了一下。

>>> help(str.translate)
Help on method_descriptor:

translate(...)
    S.translate(table) -> str
    
    Return a copy of the string S in which each character has been mapped
    through the given translation table. The table must implement
    lookup/indexing via __getitem__, for instance a dictionary or list,
    mapping Unicode ordinals to Unicode ordinals, strings, or None. If
    this operation raises LookupError, the character is left untouched.
    Characters mapped to None are deleted.

沒有 deletechars 參數(shù),難怪會有報錯
TypeError - Translate takes one argument.(2 given)
而另一個數(shù)據(jù)類型bytes是有的。

>>> help(bytes.translate)
Help on method_descriptor:

translate(...)
    translate(table, [deletechars])
    Return a copy with each character mapped by the given translation table.
    
      table
        Translation table, which must be a bytes object of length 256.
    
    All characters occurring in the optional argument deletechars are removed.
    The remaining characters are mapped through the given translation table.

Python2 中有 str 和 Unicode 兩種類型,而 Python3已經(jīng)嚴(yán)格區(qū)分了 bytes 和 str 兩種數(shù)據(jù)類型,str為原來的unicode,bytes代替了之前的str。

在將字符串存入磁盤和從磁盤讀取字符串的過程中,Python 自動地幫你完成了編碼和解碼的工作,你不需要關(guān)心它的過程,例如你能把一個中文賦值給字符串。而使用 bytes 類型,實質(zhì)上是告訴 Python,不需要它幫你自動地完成編碼和解碼的工作,而是用戶自己手動進(jìn)行,并指定編碼格式。

現(xiàn)在你不能在需要 bytes 類型參數(shù)的時候使用 str 參數(shù),反之亦然。str.translate(...)就不適合使用deletechar,因為一個Unicode字符經(jīng)過編碼后可能會和一些英文ACSII碼混淆,而bytes中對單個字節(jié)操作不會有這種問題。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/44216.html

相關(guān)文章

  • 聊聊Python 3 的字符串:str bytes 的區(qū)別

    摘要:的字符串有兩種和,的字符串也有兩種和。不同字符的不同表現(xiàn),讓的和顯得撲朔迷離。在中,嚴(yán)格區(qū)分了和,不同類型之間操作就會拋出的異常。和之間的轉(zhuǎn)換一圖勝千言和的相互轉(zhuǎn)換指的是具體的編碼規(guī)則的名稱,對于中文來說,它可以是這些值等等。 Python2的字符串有兩種:str 和 unicode,Python3的字符串也有兩種:str 和 bytes。Python2 的 str 相當(dāng)于 Pytho...

    AWang 評論0 收藏0
  • unicodeutf8 —— 從一個遍歷文件名的腳本,談?wù)剬ython2Python3中字符編

    摘要:如果傳一個中文,下和下編碼分別是和,可以自己用打印看看文件中寫死,本來理解是跟這個文件本身編碼有關(guān),但文件編碼同樣是的情況下,下打印了的超集,下仍然是。 對編碼問題一直一知半解,之前也是得過且過,正好有個同事要我?guī)兔憘€腳本,涉及這方面的問題,借這個契機(jī)研究了一下. 先貼幾篇比較好的: 1.阮老師的上古文章(07年…),雖然古老但對理解幫助很大,從最基礎(chǔ)講起,邏輯清晰易理解. (ps:...

    寵來也 評論0 收藏0
  • 詳解python2python3的區(qū)別

    摘要:認(rèn)為有極大的優(yōu)化空間,在字符串和整形操作上可以取得很好的優(yōu)化結(jié)果。的和方法返回迭代器,而之前的等函數(shù)都被廢棄。python有兩個主要的版本,python2 和 python3 ,但是python又不同于其他語言,向下兼容,python3是不向下兼容的,但是絕大多數(shù)組件和擴(kuò)展都是基于python2的,下面就來總結(jié)一下python2和python3的區(qū)別。 ? 1.性能? Py3.0運...

    Sourcelink 評論0 收藏0
  • 詳解python2python3的區(qū)別

    摘要:認(rèn)為有極大的優(yōu)化空間,在字符串和整形操作上可以取得很好的優(yōu)化結(jié)果。的和方法返回迭代器,而之前的等函數(shù)都被廢棄。python有兩個主要的版本,python2 和 python3 ,但是python又不同于其他語言,向下兼容,python3是不向下兼容的,但是絕大多數(shù)組件和擴(kuò)展都是基于python2的,下面就來總結(jié)一下python2和python3的區(qū)別。 ? 1.性能? Py3.0運...

    Martin91 評論0 收藏0
  • python3.5簡單爬蟲實例---檢測路由器流量并寫入txt

    摘要:寫在前面本人的所有文章只適合善于使用百度的人,因為所有基礎(chǔ)知識個個博客復(fù)制粘貼了無數(shù)遍,我這里均不會詳細(xì)講述。 寫在前面 本人的所有文章只適合善于使用百度的人,因為所有基礎(chǔ)知識個個博客復(fù)制粘貼了無數(shù)遍,我這里均不會詳細(xì)講述。 在這里我表示所有不經(jīng)驗證的轉(zhuǎn)載都是耍流氓,把一篇篇錯誤的文章轉(zhuǎn)載的到處都是,不知道浪費了多少人的時間精力去反復(fù)調(diào)試錯誤的代碼,尤其是對初學(xué)者有極大的打擊性。 大家...

    FleyX 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<