iT邦幫忙

第 12 屆 iThome 鐵人賽

1
自我挑戰組

笨方法學python 大家來一起開心學python XD系列 第 3

Day3:String Formatting 字串格式化

  • 分享至 

  • xImage
  •  

字串格式化有幾種方法

字串 功用
%% 在字串 中顯示%
%d 以10 進位整數方式輸出
%f 將浮點 數以10進位方式輸出
%e, %E 將浮點 數以10進位方式輸出,並使用科學記號
%o 以8進 位整數方式輸出
%x, %X 將整 數以16進位方式輸出
%s 使用str()將字串輸出
%c 以字元 方式輸出
%r 使用repr()輸 出字串

e.g.

第一種 百分比(%)

[In] 
print('He is %s' % 'Andy') #使用str()將字串輸出

print('%f' % 2.34) #    將浮點數以10進位方式輸出
print('%d' % 2.65655) # 以10 進位整數方式輸出
print('He is %s' % 'Andy') #使用str()將字串輸出
​
[Out]
2.340000
2
He is Andy

第二種 '{}'.format()

{}放在目標字串的指定位置,format放在要連接的字串、數值或變數

1.不指定順序
{}內不指定索引值(Index value)的話,預設從0開始

[In]
cookies = "20" #變量
milk = "15"  #變量
pack="i have {} cookies and {} milk".format(cookies,milk)
pack
[Out] 'i have 20 cookies and 15 milk'

2.指定順序
在{}中加入索引值就可

[In]
cookies = "20"
milk = "15"
soda = "3"
pack="i have {1} cookies {0} milk and {2} soda ".format(cookies,milk,soda) #從0開始
pack
[Out]
'i have 15 cookies 20 milk and 3 soda '

第三種f-strng

Python3.6後可使用一種方法,只需在字串前加入一個f就可格式化,{}填入目標函數

[In]
cookies = "20"
milk = "15"
soda = "3"
pack= (f"i have {cookies} cookies {milk} milk and {soda} soda ") #字串前加f{}內填入目標變數
pack
[Out]
'i have 20 cookies 15 milk and 3 soda '

第四種 樣板字串(Template String)

1.>要從內建模組引入Template
2.>使用Template()包住目標字串,並使用錢$符號來標示變數
3.>樣板字串預設使用錢$符號來標示變數
4.>替換資料的格式為dictionary
5.>最後使用substitute()來替換變數
引用上述文字從https://ppt.cc/fnq5sx

[In]
from string import Template
a = Template("$Human needs $O2")
a.substitute(Human='andy',O2="Oxygen")
[Out]
'andy needs Oxygen'

今天的筆記就到這邊為止

Source:
https://openhome.cc/Gossip/Python/StringFormat.html


上一篇
Day2:How to use comments,octothorpe and variable in Python
下一篇
Day4:Input 輸入
系列文
笨方法學python 大家來一起開心學python XD12
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言