作者TuCH (謬客)
看板Python
標題Re: [問題] 請問如何印出 字串加上整數?
時間Thu Jul 5 14:17:16 2018
※ 引述《ironmanstock (鋼鐵人史塔克)》之銘言:
: 請問一個簡單的問題
: debug時每次想要同時印出 數字跟字串
: 就會顯示錯誤 說不能同時印字串跟數字
: 雖然後來改用 str.format的方法"{1} {2} {3}".foramt.......
: 解決了
: 但是覺得這個方法太慢了
: 請問要印出字串跟數字的簡單方法是?
: 感謝
python 3.6版有多個 f-string的功能
用法是這樣
字串裡面前面用多一個f
""裡面可以加{}塞變數
var1 = something1
var2 = something2
var3 = something3
text = f"There are something like {var1} {var2} {var3}"
下面幾個範例
num1 = 9527
num2 = 9528
string = "The number is "
print(string + f"{num1} {num2}.")
或著是
print(f"{string}{num1} {num2}.")
或著是
print(f"The number is {9527} {9528}.")
---------------
result: This number is 9527 9528.
如果需要輸出漂亮一點則加上冒號數字
例如
something_list = [("something",12345),("text",9527)]
for text, num in something_list:
print(f"{text:10}{num:10}")
--------------
result:
something 12345
text 9527
*注意python3.5以前 以及 python2 皆沒有這個功能
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.38.22.112
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1530771438.A.3F9.html
推 aszx4510: 請問這個語法和 .format 有甚麼差別嗎? 07/05 20:18
→ TuCH: 能做到的效果是一樣的 不過閱讀起來會比較順 07/05 21:59
→ s860134: 其實就是大家很長用的 '{var}'.format(**locals()) 07/05 22:52
→ s860134: 至於 format 功能根本就沒變阿 07/05 22:55
→ s860134: python2: "{text:10}{num:10}".format(**locals()) 07/05 22:56
→ s860134: 得到結果不會不一樣... 07/05 22:56
→ TuCH: 效果是一樣的 這就只是語法糖 07/06 00:32
推 aszx4510: 感謝樓上兩位細心解答 07/06 03:07
推 Sunal: fstring似乎比format還快一些些 07/06 08:49