Python:格式化輸出


格式化輸出

方式一:(%s)

我們經常會輸出類似'親愛的xxx你好!你xx月的話費是xx,余額是xx'之類的字符串‘,而xxx的內容都是根據變量變化的,所以,需要一種簡便的格式化字符串的方式。

在Python中,%運算符就是用來格式化字符串的。在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%?占位符,后面就跟幾個變量或者值,順序要對應好。

如果只有一個%?,括號可以省略。Python中的 %s 方法傳遞的時候,也可以是看作是shell中的函數參數。

name = input('請輸入名字:')
age = input('請輸入年齡:')
job = input('請輸入職業:')
hobbie = input('請輸入愛好:')
msg = '''------------ info of %s -----------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
------------- end -----------------
''' % (name, name, int(age), job, hobbie)
print(msg)

 

有些時候,字符串里面的%是一個普通字符怎么辦?這個時候就需要轉義,用%%來表示一個%

print('我叫%s,今年%d,學習進度2%%' % ('李起光', 10000))

 

如果你不太確定應該用什么,%s永遠起作用,它會把任何數據類型轉換為字符串:

name = input('請輸入名字:')
age = input('請輸入年齡:')
job = input('請輸入職業:')
hobbie = input('請輸入愛好:')
msg = '''------------ info of %s -----------
Name  : %s
Age   : %s
job   : %s
Hobbie: %s
------------- end -----------------
''' % (name, name, int(age), job, hobbie)
print(msg)

 

方式二:(format函數)

format函數也是通過替換的方式實現格式化輸出,它有三種用法如下:

用法一

與上面講到的 %s類似,不同的之處是將%s換成了’{ }‘大括號,調用時依然需要按照順序對應。

s = "我叫{},今年{},愛好{}"
s1= s.format('摳腳大漢', '25', '') 

 

用法二:

 通過{n}方式來指定接收參數的位置,將調用時傳入的參數按照位置進行傳入。相比%s可以減少參數的個數,實現了參數的復用。

s= "我叫{0},今年{1},愛好{2},我依然叫{0}"
s1= s.format('摳腳大漢', '25', '') 

 

用法三:

通過{str}方式來指定名字,調用時使用str='xxx',確定參數傳入。

s = "我叫{name},今年{age},愛好{hobby}"
s1= s.format(age=25,hobby='girl',name='摳腳大漢')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM