RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python2與Python3中對字符串的支持

麥辣雞腿堡 ? 來源:Python都知道 ? 作者:了不起 ? 2023-07-05 16:15 ? 次閱讀

其實Python3中對字符串支持的改進,不僅僅是更改了默認編碼,而是重新進行了字符串的實現(xiàn),而且它已經(jīng)實現(xiàn)了對UNICODE的內(nèi)置支持,從這方面來講Python已經(jīng)和JAVA一樣優(yōu)秀。下面我們來看下Python2與Python3中對字符串的支持有什么區(qū)別:

Python2

Python2中對字符串的支持由以下三個類提供

class basestring(object)

class str(basestring)

class unicode(basestring)

執(zhí)行help(str)和help(bytes)會發(fā)現(xiàn)結(jié)果都是str類的定義,這也說明Python2中str就是字節(jié)串,而后來的unicode對象對應(yīng)才是真正的字符串。

#!/usr/bin/envpython

#-*-coding:utf-8-*-

a=

'你好'

b=

u'你好'

print(type(a),len(a))

print(type(b),len(b))

輸出結(jié)果:

(

<>

'str'>,

6

)

(

<>

'unicode'>,

2

)

Python3

Python3中對字符串的支持進行了實現(xiàn)類層次的上簡化,去掉了unicode類,添加了一個bytes類。從表面上來看,可以認為Python3中的str和unicode合二為一了。

class

bytes

(

object

)

class

str

(

object

)

實際上,Python3中已經(jīng)意識到之前的錯誤,開始明確的區(qū)分字符串與字節(jié)。因此Python3中的str已經(jīng)是真正的字符串,而字節(jié)是用單獨的bytes類來表示。也就是說,Python3默認定義的就是字符串,實現(xiàn)了對UNICODE的內(nèi)置支持,減輕了程序員對字符串處理的負擔(dān)。

#!/usr/bin/envpython

#-*-coding:utf-8-*-

a=

'你好'

b=

u'你好'

c=

'你好'

.encode(

'gbk'

)

print(type(a),len(a))

print(type(b),len(b))

print(type(c),len(c))

輸出結(jié)果:

<

class

'

str

'>2

<

class

'

str

'>2

<

class

'

bytes

'>4

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編碼
    +關(guān)注

    關(guān)注

    6

    文章

    940

    瀏覽量

    54814
  • 字符串
    +關(guān)注

    關(guān)注

    1

    文章

    578

    瀏覽量

    20506
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4792

    瀏覽量

    84627
收藏 人收藏

    評論

    相關(guān)推薦

    新手Python學(xué)習(xí)該學(xué)Python2還是Python3

    Python3到底有何區(qū)別呢?1.性能Py3.0運行 pystone benchmark的速度比Py2.5慢30%。Guido認為Py3.0有極大的優(yōu)化空間,在字符串和整形操作上可以取得很好的優(yōu)化結(jié)果。Py3.1
    發(fā)表于 04-17 16:11

    python2python3同時安裝的詳細步驟

    整理下python2python3同時安裝詳細步驟希望對大家有幫助坑已踩過(親測可用!?。。?/div>
    發(fā)表于 10-27 09:31

    python2python3是如何互相切換的

    python2python3互相切換在本地有兩個Python的版本:默認使用Python2.7:可以這樣查看當(dāng)前版本:如果要使用Python3
    發(fā)表于 07-12 07:53

    python2python3問題的分析

    這個問題困擾了我很久,也是在一次偶然的機會解決了。現(xiàn)在就與大家分享一下,對于又想用python2又想用python3的小伙伴可以看看。 其實,這個方法也是挺簡單的。我使用的是python2
    發(fā)表于 11-28 10:01 ?1046次閱讀

    python字符串拼接方式了解

    ()方法拼接 用string模塊的Template對象 例子: fruit1 = ‘a(chǎn)pples’ fruit2 = ‘bananas’ fruit3 = ‘pears’ 要求: 輸出字符串
    發(fā)表于 12-06 10:09 ?1032次閱讀

    python3如何取出重復(fù)3次的字符串保存為3

    本文檔的主要內(nèi)容詳細介紹的是python3如何取出重復(fù)3次的字符串保存為3列詳細資料免費下載C語言資料說明。
    發(fā)表于 11-16 16:17 ?4次下載

    Python2python3的八個主要區(qū)別

    python這門語言中有兩個重要的版本,一個是python2,一個是python3
    的頭像 發(fā)表于 01-19 17:27 ?1.4w次閱讀

    python2python3到底有什么區(qū)別

    幾乎所有的python2 程序都需要一些修改才能正常的運行在python3 的環(huán)境下。為了簡化這個轉(zhuǎn)換過程, Python3 自帶了一個2to3 的實用腳本。這個腳本會將
    發(fā)表于 09-16 15:42 ?4次下載
    <b class='flag-5'>python2</b>與<b class='flag-5'>python3</b>到底有什么區(qū)別

    什么是復(fù)制字符串?Python如何復(fù)制字符串

    連續(xù)幾篇文章都在寫 Python 字符串,這出乎我的意料了。但是,有的問題,不寫不行,特別是那種靈機一動想到的問題,最后你發(fā)現(xiàn),很多人根本不懂卻又誤以為自己懂了。那就繼續(xù)刨根問底,探究個明白吧
    發(fā)表于 11-25 10:32 ?3011次閱讀

    2.2 python字符串類型

    雙引號,不能一單一雙!Python支持字符類型,單字符Python也是作為一個
    的頭像 發(fā)表于 02-17 17:08 ?1422次閱讀

    python字符串有哪些特定方法

    python字符串序列操作也適用于列表和元組。 python字符串還有獨有方法,即字符串對象的函數(shù),其他對象不可調(diào)用,只有
    的頭像 發(fā)表于 02-23 15:02 ?703次閱讀

    Python檢查字符串包含的方法

    Python 有多種處理字符串的方法。今天我們介紹如何檢查一個字符串是否包含另一個字符串。
    的頭像 發(fā)表于 05-14 16:02 ?1.6w次閱讀

    Python字符編碼轉(zhuǎn)換

    UNICODE字符串可以與任意字符編碼的字節(jié)進行相互轉(zhuǎn)換,如圖: 那么大家很容易想到一個問題,就是不同的字符編碼的字節(jié)可以通過Unicode相互轉(zhuǎn)換嗎?答案是肯定的。 Python2
    的頭像 發(fā)表于 07-05 16:25 ?1085次閱讀
    <b class='flag-5'>Python</b><b class='flag-5'>字符</b>編碼轉(zhuǎn)換

    Python 如何判斷字符串是否包含子

    方法 使用 字符串 對象的 find 方法,如果有找到子,就可以返回指定子字符串的出現(xiàn)位置,如果沒有找到,就返回 -1 >> >
    的頭像 發(fā)表于 11-02 10:55 ?486次閱讀

    Python2Python3的差異

    Python2,print語句是一個關(guān)鍵字,而在Python3,print函數(shù)被引入,必須使用括號。此外,Python3要求
    的頭像 發(fā)表于 11-23 16:48 ?995次閱讀
    RM新时代网站-首页