溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python中如何實(shí)現(xiàn)字符串格式化

發(fā)布時(shí)間:2021-12-16 17:23:56 來(lái)源:億速云 閱讀:104 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Python中如何實(shí)現(xiàn)字符串格式化的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

    什么是字符串格式化,為什么需要這樣做?

    我們有時(shí)候刷抖音/B站看到封面很好看,但是進(jìn)入直播發(fā)現(xiàn),不過(guò)如此!
    想必主播通過(guò)某種方式把輸出轉(zhuǎn)換為讀者想看的內(nèi)容。

    是不是大概懂了什么是格式化和格式化的必要性了!

    僅僅類(lèi)比,我們程序的格式化,并沒(méi)有那么過(guò)份!1輸出還是1,只是人類(lèi)更好讀懂了。

    而不像網(wǎng)絡(luò)主播那樣稍微格式化(工程挺大)從1變成了0。

    畢竟程序不能欺騙開(kāi)發(fā)者。

    必要性:輸出為更好的格式化,方便開(kāi)發(fā)者和用戶(hù)讀懂輸出。

    程序中都有哪些格式化?

    網(wǎng)上說(shuō)有三種,四種,未來(lái)還可能會(huì)增加其他庫(kù)。

    學(xué)委開(kāi)發(fā)過(guò)多種語(yǔ)言,大概總結(jié)如下兩個(gè)大類(lèi):

    • 字符串占位符替換

    • 字符串關(guān)鍵字替換

    下面看看代碼

    占位符格式化

    第一種%占位符格式化

    python中我們最常見(jiàn)的是'%‘ 這類(lèi)占位符號(hào)

    str = "hello"
    "this is a string: %s" % str 
    "this is a string: %s, %s" % (str, str)

    上面我們觀察一下,可以發(fā)現(xiàn)輸出中‘%s'被替換為了'hello';

    另一個(gè)是多個(gè)‘%s'的替換是用一個(gè)元組,按照對(duì)應(yīng)下標(biāo)來(lái)替換。

    格式化基本上都可以使用'%s'來(lái)完成。

    好,懂了這個(gè),我們繼續(xù)看看下面的代碼:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2021/10/30 10:13 上午
    # @Author : LeiXueWei
    # @CSDN/Juejin/Wechat: 雷學(xué)委
    # @XueWeiTag: CodingDemo
    # @File : string_format.py
    # @Project : hello
    import sys
    first = "持續(xù)學(xué)習(xí)"
    second = "持續(xù)開(kāi)發(fā)"
    slogan = first + second
    print(slogan)
    banner = "*" * 16
    print(banner)
    slice = slogan[2:4]
    print(slice)
    print(""""學(xué)習(xí)" in slogan : %s""" % ("學(xué)習(xí)" in slogan))
    print(""""不學(xué)習(xí)" not in slogan : %s""" % ("不學(xué)習(xí)" not in slogan))
    print(r"""打印\n換行被當(dāng)做普通字符輸出了!""")
    # 以上我們都可以看到%,很多次代碼都有說(shuō)到這個(gè),但是并沒(méi)有過(guò)多解釋
    print("%s" % slogan)  # 最常用了%s 格式化字符串
    # print("%c"%'ccc')#TypeError: %c requires int or char
    print("%c" % 'c')  # %c 通常用來(lái)強(qiáng)制檢測(cè)待輸出的字符串必須長(zhǎng)度為1
    print("%c" % '雷')  # %c 通常用來(lái)強(qiáng)制檢測(cè)待輸出的字符串必須長(zhǎng)度為1
    number = 102.40101
    print("%%i 符號(hào)整數(shù) %i" % number)
    print("%%i 符號(hào)整數(shù):%i" % -number)
    print("%%d 符號(hào)整數(shù) %d" % number)
    print("%%d 符號(hào)整數(shù) %d" % -number)
    print("%%u 無(wú)符號(hào)整數(shù):%u" % number)
    print("%%u 無(wú)符號(hào)整數(shù):%u" % -number)
    #print("八進(jìn)制 %o" % number)
    print("%%o 八進(jìn)制 %o" % 102)
    print("%%x16進(jìn)制 %x" % 102)
    #print("16進(jìn)制 %X" % 102)
    print("%%e 自然常數(shù) e進(jìn)制: %e" % number)
    #print("%E" % number)
    print("%%f 浮點(diǎn)數(shù) %f" % number)
    print("%%g 靈活的有效顯示:%g" % number) #保證顯示6微有效數(shù)字的前提下,靈活的選擇小數(shù)方式,或者科學(xué)計(jì)數(shù)法
    #print("%G" % number)
    print("%%g 靈活的有效顯示:%g" % (number*10001)) #保證顯示6微有效數(shù)字的前提下,靈活的選擇小數(shù)方式,或者科學(xué)計(jì)數(shù)法
    #下面兩種寫(xiě)法需要注意執(zhí)行順序
    #print("%g" % number*10001) #注意這種寫(xiě)法
    #print("%g" % number**10) #注意這種寫(xiě)法

    讀者可以直接復(fù)制運(yùn)行代碼,學(xué)委補(bǔ)充了運(yùn)行效果圖:

    Python中如何實(shí)現(xiàn)字符串格式化

    這里比較特殊的是‘%u'無(wú)符號(hào)整型的展示,正負(fù)數(shù)并無(wú)區(qū)別。

    那是肯定的,無(wú)符號(hào)整型跟有符號(hào)整型是表示數(shù)的兩種手段。
    但是無(wú)符號(hào)的比有符號(hào)多了一個(gè)位來(lái)放數(shù)字,所以范圍更大。

    上面這段題外話(huà),小白稍微看看或者跳過(guò)。我們繼續(xù)看看其他格式化方式。

    第二種占位符格式化

    跟上面稍微區(qū)別就是我們會(huì)看到一下明顯的下標(biāo)。

    {0}, {1}, … {n}

    想要留幾個(gè)替換位,就放幾個(gè){}括起來(lái),但要求必須給到n個(gè)參數(shù),更多信息參考https://docs.python.org/3/library/string.html

    這個(gè)非常簡(jiǎn)單直接,我們看看代碼:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2021/10/30 10:13 上午
    # @Author : LeiXueWei
    # @CSDN/Juejin/Wechat: 雷學(xué)委
    # @XueWeiTag: CodingDemo
    # @File : string_format1.py
    # @Project : hello
    import sys
    slogan = "持續(xù)學(xué)習(xí)持續(xù)開(kāi)發(fā)"
    author = "雷學(xué)委"
    text = "{0}, {1}".format(slogan, author)
    print("text= %s" % text)

    關(guān)鍵字格式化

    非常好理解就是類(lèi)似{}一對(duì)大括弧中間為待替換的內(nèi)容。

    這個(gè)非常簡(jiǎn)單直接,我們看看代碼:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # @Time : 2021/10/30 10:13 上午
    # @Author : LeiXueWei
    # @CSDN/Juejin/Wechat: 雷學(xué)委
    # @XueWeiTag: CodingDemo
    # @File : string_format2.py
    # @Project : hello
    import sys
    slogan = "持續(xù)學(xué)習(xí)持續(xù)開(kāi)發(fā)"
    author = "雷學(xué)委"
    text = f"{slogan} , {author}"
    print("text= %s" % text)

    運(yùn)行效果如下:

    Python中如何實(shí)現(xiàn)字符串格式化

    從這里看,關(guān)鍵字格式化比較友好!

    感謝各位的閱讀!關(guān)于“Python中如何實(shí)現(xiàn)字符串格式化”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI