這章我們來(lái)講Python的格式化輸出,輸出功能我們學(xué)過(guò)了,就是print嘛,格式化輸出就是我們提前規(guī)定好一種格式。
如圖所示,一般我們也叫格式化字符串,格式化字符串一般有四種方式。第一種方式是%這種形式,這種方式從Python誕生開(kāi)始就已經(jīng)存在了。也就是我們使用的所有版本都能使用%進(jìn)行格式化輸出。
現(xiàn)在規(guī)定一種格式‘my name is xxx,I am from xxx?!缓笪覀円@兩個(gè)xxx的位置填充值,用百分號(hào)實(shí)現(xiàn)的方式就是把xxx刪掉,改成%s。s代表string的意思,就是醫(yī)要用一個(gè)字符串往這個(gè)位置填充值,這個(gè)%s就相當(dāng)于一個(gè)字符串的占位符。
給這兩個(gè)位置傳值的方式也有兩種,第一種按位置傳值,在最后寫%(),然后在括號(hào)里寫你要的值。當(dāng)然你前面定義了變量,括號(hào)里面你也可以寫變量名。我就直接在后面寫變量名,然后把結(jié)果復(fù)制給一個(gè)變量名info,最后打印info。
如果把后面的兩個(gè)值位置調(diào)換一下,結(jié)果打印出來(lái)的結(jié)果也是調(diào)換位置的值。
右邊位置寫的值,是按照位置一一對(duì)應(yīng)傳遞給左邊的,多一個(gè)少一個(gè)都會(huì)報(bào)錯(cuò),如果你只需要傳一個(gè)值的話,你就不需要括號(hào),直接把值寫在%后面。
這就叫按位置,按位置傳值你需要記住占位符每一個(gè)位置代表什么意義,還有第二種方式就是不按位置傳值。這時(shí)候就需要在%后面寫一個(gè)字典。這樣我們不能在前面直接寫%s了。需要這樣寫%()s,然后把對(duì)應(yīng)的key寫在()里面。
這里要注意,雖然%s是需要我們傳一個(gè)字符串過(guò)去,但是你看我這樣,先傳一個(gè)整型18過(guò)去,然后我再傳一個(gè)列表[‘a’,’b’]進(jìn)去,甚至我傳一個(gè)字典{‘a(chǎn)’:‘a(chǎn)aa’,‘b’:‘bbb’}。一運(yùn)行,也是可以的。
也就是說(shuō),%s我們可以傳按任意類型的值進(jìn)去,它都會(huì)當(dāng)成字符串處理。
然后還有一個(gè)占位符叫做%d,它表示接收一個(gè)整型。
如果我傳一個(gè)字符串進(jìn)去,就會(huì)直接報(bào)錯(cuò)。
現(xiàn)在我們簡(jiǎn)單總結(jié)一下,%s可以接受任意類型的值,%d只能接收整型。但是%d用的很少,了解一下就行了。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python格式化輸出%s和%d