最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python .format()函數(shù)使用方法詳解

 更新時間:2021年10月27日 11:39:47   作者:胡星煜  
python中format函數(shù)用于字符串的格式化,接下來通過本文給大家介紹python中format()函數(shù)的簡單使用教程,一起看看吧

format函數(shù)的調(diào)用

format函數(shù)可以被直接調(diào)用或在print函數(shù)中以占位符實現(xiàn)格式化調(diào)用。
在**2.6**版本前,占位符仍和其他語言一樣使用%(比如C中)。但在其后的版本,format函數(shù)的占位符更改為{}(花括號)。

優(yōu)化的目的目前總結(jié)出了4個:

1.花括號封閉可以實現(xiàn)更多格式化的實現(xiàn),更強大的功能

2.使代碼具有更強的可讀性。

3.單個參數(shù)可以多次輸出,參數(shù)順序可以不相同

4.不需要理會數(shù)據(jù)類型的問題,在%方法中%s只能替代字符串類型

好了,進入正文,對于format函數(shù)的使用將分為兩部分。

1.format函數(shù)及其占位符的調(diào)用格式

2.占位符格式和參數(shù)設(shè)定

ps:在介紹的時候各個內(nèi)容會有小小的穿插,其實是為了更加便于理解~

format函數(shù)及其占位符的調(diào)用格式

format函數(shù)可以直接被調(diào)用,比如在shell中直接調(diào)用

例1

>>>'{} {}'.format('hello','world')       #占位符不指定順序
'hello world'
>>>'{0} {1}'.format('hello','world')       #占位符制定順序
'hello world'
>>>'{1} {0}'.format('hello','world')       #換一下順序試試
'world hello'
 

我們更常用的方式是放入print()函數(shù)中進行格式化輸出

例2

print('{}獲得了S8冠軍'.format('IG')
#結(jié)果:
#IG獲得了S8冠軍

占位符以及參數(shù)設(shè)定

在第一部分中,簡單地介紹了兩種調(diào)用format函數(shù)的方式。可以很清晰地發(fā)現(xiàn),在占位符中也可以輸入一些參數(shù),對格式化輸出的參數(shù)進行設(shè)定,下面就詳細的介紹占位符中各項參數(shù)的順序和設(shè)置。

占位符中的各項參數(shù)格式如下所示

例3(偽代碼)

'{position/key:fill,align,sign,width,precision,type}'.format(...)

position/key

position/key指定了占位符處從format函數(shù)的參數(shù)中調(diào)用哪個值,position很好理解,比如上面例1中介紹的后兩種調(diào)用,就指定了format中兩個參數(shù)hello和world在占位符中調(diào)用的順序,注意這個順序是按照數(shù)組排序中從‘0'開始計算的。 當然,你也可以使用鍵值對進行操作。比如下面的例4:

例4

print(
    'the championship of the S8 is {S8}, and for S9, it\'s {S9}.'.format(S8='IG',S9='FPX'))
#結(jié)果:the championship of the S8 is IG, and for S9, it'FPX.

有寫小伙伴可能要問了,鍵值對(字典)的使用在這里有什么好處嗎?感覺還不如填個數(shù)字來的快捷啊?

再來看下面這一段代碼:

例5:

dic={'S8':'IG','S9':'FPX'}
print(
    'the championship of the S8 is {S8}, and for S9, it\'s {S9}.'.format(**dic))
#結(jié)果:the championship of the S8 is IG, and for S9, it'FPX.

在例5中,有些需要特別說明的地方,首先如果你要在format的括號里調(diào)用字典,記得在字典名前面加**,也就是字典的函數(shù)調(diào)用方法哦!從例5中應(yīng)該能發(fā)現(xiàn)了,我們不需要在format中專門把字典列出來,而是可以調(diào)用以前定義過的字典,這就使得其具備了重復(fù)調(diào)用的優(yōu)點。想象一下這一點會有什么不同,這是%方法做不到的哦。

你也可以用數(shù)組的形式填充,如例6所示:

例6:

names=['hilary','vergil','nero']
places=['chengdu','shijiazhuang','tokyo']
print(
    'Hi, {names[0]}. I am {names[1]} and this is {names[2]}.'.format(names=names)
    #Hi, hilary. I am vergil and this is nero.

第一個位置的參數(shù),也是冒號前唯一的參數(shù)相信大家就搞明白啦。

下面的參數(shù)都是并列的,我們一個一個說明。首先要講清楚這些參數(shù)如何并列或分隔。

那就是無需分隔,沒錯,下面的這些參數(shù),你需要定義哪些就按照順序?qū)懴戮托?,不用加什么逗號或者空格分開,你可能會想,這不容易產(chǎn)生歧義嗎?我學(xué)習(xí)的時候也想過這個問題,事實是開發(fā)者編輯函數(shù)邏輯時就吧這些參數(shù)的設(shè)定值用不會產(chǎn)生任何歧義的符號或數(shù)字組合起來了,這一點當你使用時也會發(fā)現(xiàn)。

fill參數(shù)

fill參數(shù)用于指定填充符,默認值為空格,實際經(jīng)驗是,很少有場景會用到這個參數(shù),除非是按照國際通用的三位一個逗號分隔數(shù)字等場景。

例7:

>>> print('{:,}'.format(12345678))
12,345,678

align參數(shù)

align參數(shù)用于格式化文本的對齊方式,當你填充了寬度的時候,這個參數(shù)的作用是很大的,當然,在一句話中無縫的插入一個格式化文本的話,這個參數(shù)的設(shè)置就不大有意義了。

> < ^
右對齊 左對齊 居中對齊

例8:

在shell中運行如下代碼(代碼中數(shù)字三十表示寬度,目的是為了拉大總體寬度顯示出對齊的效果,后文會提到寬度的使用方法)

>>> print('{:<30}'.format('pos'))
pos
>>> print('{:>30}'.format('pos'))
                           pos
>>> print('{:^30}'.format('pos'))
             pos

sign參數(shù)

sign參數(shù)用于指定是否保留正負號,這個針對format中數(shù)字起作用。

+ - SPACE
保留正負號 僅保留負號 正數(shù)留空,負數(shù)保留負號

例9:

>>> print('{0:+} {0:-} {0: }'.format(123))
+123 123  123
>>> print('{0:+} {0:-} {0: }'.format(-123))
-123 -123 -123

ps:注意第一行代碼運行結(jié)果中最后一個保留了一個空格哦

width參數(shù)

width參數(shù)控制輸出的長度,經(jīng)過我的測試,該長度為最小長度,即當設(shè)定的width參數(shù)小于format中調(diào)用的值時,不生效;而當設(shè)定值大時,會用空格(默認)或零進行填補,如果想要用0進行填補,那么需要在width前添加0,width參數(shù)的使用如例10所示。在例8中展示對齊參數(shù)時也使用了寬度參數(shù),可以看出對齊是對我們的填補方式存在影響,其具體影響也在例10中給出。

例10:

print('{0:12} {0:05} {0:2}'.format(123)) #依次為12位寬空格填補、5位寬0填補、2位寬
#結(jié)果:
#         123 00123 123
print('{0:<012},{0:>012},{0:^012} '.format(123))
#結(jié)果:
#123000000000,000000000123,000012300000 
print('{0:^012},{1:^012},{0:^011},{1:^011} '.format(123,1234))
#結(jié)果:
#000012300000,000012340000,00001230000,00012340000

可以看出空格的填補同樣以對齊的區(qū)別顯示出來,但是0的填補卻往往改變了我們數(shù)字的表示,使用時要注意。另一個要注意的是當你的總寬度和數(shù)據(jù)的有效寬度的奇偶性不同時,居中對齊的方式會有不同,這就是例10中第三行代碼希望表達的意思。可以看出,當奇偶次出現(xiàn)不同時,總是偏向左一位對齊。

precision參數(shù)

和%方法中一樣,如%.3f表示保留小數(shù)點三位小數(shù),用【.保留有效數(shù)字位數(shù)(f)】表示數(shù)據(jù)的精確度,如果添加f,則表明保留的為小數(shù)點后位數(shù),如果不加,則表示保留的是有效數(shù)字位數(shù)。例11很好的展示了這種區(qū)別。

例11:

print('{0:.2f},{0:.7f},{0:.2},{0:.2%} '.format(123.123456789))
#結(jié)果:
#123.12,123.1234568,1.2e+02,12312.35% 

其實小伙伴們應(yīng)該注意到了,這里的f,%其實都算是precision參數(shù)后的type參數(shù)控制的內(nèi)容——數(shù)據(jù)類型。因此,我們對精度簡單介紹,而將precision-type參數(shù)的聯(lián)合參數(shù)具體介紹,因為二者具有很強的關(guān)聯(lián)。

precision-type參數(shù)

首先介紹所有的type參數(shù),如下表所示:

type參數(shù) 含義
默認 十進制整數(shù) 123
f 浮點數(shù) 123.123
% 百分比格式 12312.3%
e 指數(shù)形式 1.2e01
- d 十進制整數(shù) 123
進制轉(zhuǎn)換 十進制 123
b 二進制 1101111
o 八進制 157
x 十六進制 6f
#x 小寫表示的十六進制 0x6f
#X 大寫表示的十六進制 0X6F
c 字符,打印前轉(zhuǎn)換為Unicode代碼 ‘123'

本文由學(xué)習(xí)總結(jié)而成,引用了一段代碼,文章中有引用號,引用鏈接放在下面:

http://m.fzitv.net/article/226500.htm

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python 通過SSHTunnelForwarder隧道連接redis的方法

    python 通過SSHTunnelForwarder隧道連接redis的方法

    今天小編就為大家分享一篇python 通過SSHTunnelForwarder隧道連接redis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python中文件路徑常用操作總結(jié)

    Python中文件路徑常用操作總結(jié)

    這篇文章主要為大家詳細介紹了Python中文件路徑常用操作的相關(guān)知識,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以學(xué)習(xí)一下
    2023-11-11
  • 用pandas按列合并兩個文件的實例

    用pandas按列合并兩個文件的實例

    下面小編就為大家分享一篇用pandas按列合并兩個文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python高階函數(shù)與裝飾器函數(shù)的深入講解

    Python高階函數(shù)與裝飾器函數(shù)的深入講解

    這篇文章主要給大家介紹了關(guān)于Python高階函數(shù)與裝飾器函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Django同時連接多種數(shù)據(jù)庫的實現(xiàn)

    Django同時連接多種數(shù)據(jù)庫的實現(xiàn)

    在開發(fā)Django項目的時候,很多時候都是使用一個數(shù)據(jù)庫,即settings 中只有default數(shù)據(jù)庫,但是有一些項目確實也需要使用多個數(shù)據(jù)庫,本文主要介紹了Django同時連接多種數(shù)據(jù)庫的實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • Python數(shù)據(jù)類型詳解(一)字符串

    Python數(shù)據(jù)類型詳解(一)字符串

    簡單的說字符串String就是使用引號定義的一組可以包含數(shù)字,字母,符號(非特殊系統(tǒng)符號)的集合。今天我們就來詳細探討下Python數(shù)據(jù)類型中的字符串
    2016-05-05
  • 關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析

    關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析

    這篇文章主要介紹了關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析,Spring的@Bean注解用于告訴方法,產(chǎn)生一個Bean對象,然后這個Bean對象交給Spring管理,產(chǎn)生這個Bean對象的方法Spring只會調(diào)用一次,需要的朋友可以參考下
    2023-07-07
  • Python實現(xiàn)Excel表格轉(zhuǎn)HTML

    Python實現(xiàn)Excel表格轉(zhuǎn)HTML

    Excel工作簿是常用的表格格式,廣泛用于組織、分析及展示數(shù)據(jù),這篇文章主要為大家詳細介紹了如何使用Python將Excel工作簿或工作表轉(zhuǎn)換為HTML文件,需要的可以參考下
    2024-03-03
  • python assert斷言的實例用法

    python assert斷言的實例用法

    在本篇文章里小編給大家整理了一篇關(guān)于python assert斷言的實例用法,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2021-09-09
  • Python截圖的五個方法實例總結(jié)

    Python截圖的五個方法實例總結(jié)

    學(xué)習(xí)一門語言最好的方法便是實踐,想要拿Python寫一個截圖工具,下面這篇文章主要給大家介紹了關(guān)于Python截圖的五個方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-12-12

最新評論

台东市| 黑山县| 福清市| 徐州市| 页游| 团风县| 招远市| 定西市| 汤阴县| 奇台县| 灌云县| 大洼县| 临泽县| 黎城县| 常宁市| 郧西县| 无为县| 永城市| 香格里拉县| 娄底市| 巴青县| 木兰县| 巨野县| 永修县| 双柏县| 察雅县| 清涧县| 高雄市| 海原县| 阜康市| 望城县| 岳阳市| 葵青区| 来安县| 高要市| 永嘉县| 岐山县| 沙雅县| 池州市| 丰城市| 来宾市|