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

python2與python3的print及字符串格式化小結(jié)

 更新時(shí)間:2018年11月30日 12:15:49   作者:光速跑者21  
最近一直在用python寫程序,對(duì)于python的print一直很惱火,老是不按照預(yù)期輸出。今天特來(lái)總結(jié)一樣print和format,也希望能幫助大家徹底理解它們

最近一直在用python寫程序,對(duì)于python的print一直很惱火,老是不按照預(yù)期輸出。在python2中print是一種輸出語(yǔ)句,和if語(yǔ)句,while語(yǔ)句一樣的東西,在python3中為了填補(bǔ)python2的各種坑,將print變?yōu)楹瘮?shù),因此導(dǎo)致python3中print的一些使用和python2很不一樣。同時(shí),python3大改python2中的字符串格式化,主推format()函數(shù)格式,用法很是靈活,讓老用戶一時(shí)摸不著頭腦。今天特來(lái)總結(jié)一樣print和format,也希望能幫助大家徹底理解它們。

1.print使用說(shuō)明

在python2中print是這樣的:

在python3中print是以函數(shù)形式出現(xiàn)的:

可以很明顯的看出python3已經(jīng)不支持print非函數(shù)格式了,在python3中使用print,必須加()。

我們?cè)趐ython3中help(print):  (注意,在python2中是不能help(print)的,因?yàn)槠洳皇且粋€(gè)函數(shù))

可以清楚看到print函數(shù)的幾個(gè)參數(shù),file是文件描述符,flush控制是否沖刷緩沖區(qū),end為結(jié)束字符,默認(rèn)為換行,sep是輸出的幾個(gè)變量間的字符,默認(rèn)為空格。弄清楚這些,以后操作起來(lái)就順溜了。

試試看:

上面是python3,可以看到改變end為空字符就能避免換行,下面是python2,奇怪的是說(shuō)好的不換行還是換了。。。

誰(shuí)能告訴我怎么打出a不換行啊。。。

總結(jié)一下,感覺python3還是非常優(yōu)秀的,比python2上了一個(gè)檔次,更加方便開發(fā)者了,與python2中異常丑陋的print >> file相比,print的函數(shù)化確實(shí)更上一層樓。print也就這樣啦,下面來(lái)看看字符串格式化把。

2. 字符串格式

在python2中一直使用形如: “%s ....  %d” % (str, ... , intNum)格式化字符串的。這是python從C系列借鑒過(guò)來(lái)的語(yǔ)法,但是這種語(yǔ)法對(duì)于C這種靜態(tài)語(yǔ)言足夠快足夠好,但是對(duì)于擁有很多先進(jìn)數(shù)據(jù)結(jié)構(gòu)的python來(lái)說(shuō)就有點(diǎn)心有余來(lái)力不足了。為什么這么說(shuō)呢?python的幾把利刃:元組,列表,字典,集合等不適合用這種結(jié)構(gòu)表示,這些利刃大多元素用下標(biāo)表示,在這種結(jié)構(gòu)中寫出來(lái)很丑陋,不信你試試。

不管怎么樣,這種表示方法還是必須掌握的,大多數(shù)情況下表示起來(lái)還是特別快速的。

字符串格式化代碼:

看著這么的多格式,其實(shí)常用的也就那么幾個(gè),總結(jié)一些只需要記?。?%d, %s, %f就OK了,其實(shí)等需要用的時(shí)候查找就可以了,畢竟我們大腦的資源是很寶貴的,可不能全用來(lái)記這些死板的東西

再來(lái)看看《Python基礎(chǔ)編程》中對(duì)格式化輸出的總結(jié):

(1). %字符:標(biāo)記轉(zhuǎn)換說(shuō)明符的開始

(2). 轉(zhuǎn)換標(biāo)志:-表示左對(duì)齊;+表示在轉(zhuǎn)換值之前要加上正負(fù)號(hào);“”(空白字符)表示正數(shù)之前保留空格;0表示轉(zhuǎn)換值若位數(shù)不夠則用0填充

(3). 最小字段寬度:轉(zhuǎn)換后的字符串至少應(yīng)該具有該值指定的寬度。如果是*,則寬度會(huì)從值元組中讀出。

(4). 點(diǎn)(.)后跟精度值:如果轉(zhuǎn)換的是實(shí)數(shù),精度值就表示出現(xiàn)在小數(shù)點(diǎn)后的位數(shù)。如果轉(zhuǎn)換的是字符串,那么該數(shù)字就表示最大字段寬度。如果是*,那么精度將從元組中讀出。

下面來(lái)看看python3主打的格式化函數(shù)format().

字符串的format函數(shù)可以通過(guò)以下幾個(gè)方式靈活的完成字符串格式化:

1. 通過(guò)位置標(biāo)號(hào)

{0}表示第一個(gè)元素, {1}表示第二個(gè)元素, {2}表示第三個(gè)元素,以此類推。。。

注意在這里的順序是按照f(shuō)ormat中的參數(shù)順序而言的,在字符串中{0},{1}位置隨便。

2.通過(guò)關(guān)鍵字參數(shù)

3.通過(guò)屬性和下標(biāo)

但是不知道字典怎么回事,和正常的鍵值索引不一樣,貌似字符串不需要加引號(hào),加引號(hào)反而出錯(cuò)了。。。

各位可以自己試一下。當(dāng)鍵值為整數(shù)的時(shí)候可以順利輸出,鍵值為字符串時(shí)不需要加‘'。

4.格式化限定符

{0:0.2f} {1:3d},在序號(hào)后面加上格式符就可以了,不用加%哦。

5.填充與對(duì)齊(更加方便的語(yǔ)法,雖然用到的比較少)

填充常跟對(duì)齊一起使用
^、<、>分別是居中、左對(duì)齊、右對(duì)齊,后面帶寬度
:號(hào)后面帶填充的字符,只能是一個(gè)字符,不指定的話默認(rèn)是用空格填充

是不是很方便,注意<>^號(hào)后面加寬度哦。

好啦,print和格式化的用法基本講完了。大家掌握的怎么樣啦下面還沒完,略微吐槽一下python中矩陣的輸出。。。

在python2.7.6中矩陣輸出:

在python3.4中還是不能正常輸出,總是錯(cuò)位。。。

因?yàn)楝F(xiàn)在python主打大數(shù)據(jù)領(lǐng)域,所以特別希望python未來(lái)能特別為矩陣輸出優(yōu)化一下。

總結(jié)

以上所述是小編給大家介紹的python2與python3的print及字符串格式化小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Vue中自定義指令的三個(gè)常用方法小結(jié)

    Vue中自定義指令的三個(gè)常用方法小結(jié)

    這篇文章主要為大家詳細(xì)介紹了Vue中自定義指令的三個(gè)常用方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解一下
    2024-02-02
  • Python網(wǎng)絡(luò)編程之使用email、smtplib、poplib、imaplib模塊收發(fā)郵件

    Python網(wǎng)絡(luò)編程之使用email、smtplib、poplib、imaplib模塊收發(fā)郵件

    這篇文章介紹了Python使用email、smtplib、poplib、imaplib模塊收發(fā)郵件的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • Python wxPython庫(kù)消息對(duì)話框MessageDialog用法示例

    Python wxPython庫(kù)消息對(duì)話框MessageDialog用法示例

    這篇文章主要介紹了Python wxPython庫(kù)消息對(duì)話框MessageDialog用法,結(jié)合實(shí)例形式簡(jiǎn)單分析了wxPython庫(kù)的基本事件與相關(guān)使用技巧,需要的朋友可以參考下
    2018-09-09
  • 使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置

    這篇文章主要介紹了使用Python獲取當(dāng)前工作目錄和執(zhí)行命令的位置,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python下利用BeautifulSoup解析HTML的實(shí)現(xiàn)

    Python下利用BeautifulSoup解析HTML的實(shí)現(xiàn)

    這篇文章主要介紹了Python下利用BeautifulSoup解析HTML的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Python定時(shí)任務(wù)實(shí)現(xiàn)方案

    Python定時(shí)任務(wù)實(shí)現(xiàn)方案

    這篇文章主要介紹了Python定時(shí)任務(wù)實(shí)現(xiàn)的方案,定時(shí)執(zhí)行的任務(wù),可以是一段bash命令,也可以是一個(gè)腳本文件。通常用于我們需要在特定時(shí)刻做事情,下面來(lái)看看文章詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-11-11
  • pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練

    pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練

    今天小編就為大家分享一篇pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • Python 數(shù)據(jù)可視化之Bokeh詳解

    Python 數(shù)據(jù)可視化之Bokeh詳解

    這篇文章主要介紹了Python數(shù)據(jù)可視化庫(kù)Bokeh的使用總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-11-11
  • 一些Python?5行代碼的神奇操作匯總

    一些Python?5行代碼的神奇操作匯總

    最開始學(xué)習(xí)?Python,不需要太過(guò)復(fù)雜,下面這篇文章主要給大家介紹了關(guān)于Python?5行代碼的神奇操作,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 利用Python自動(dòng)化生成愛豆日歷詳解

    利用Python自動(dòng)化生成愛豆日歷詳解

    openpyxl,一個(gè)能讀取和修改Excel電子表格的Pyhton模塊,可以實(shí)現(xiàn)自動(dòng)化處理表格信息,擺脫無(wú)趣無(wú)味。本文將利用openpyxl和calendar庫(kù),實(shí)現(xiàn)自動(dòng)化生成愛豆日歷,感興趣的可以了解一下
    2022-05-05

最新評(píng)論