python之格式化輸出(3種方式)


python3.6后支持3種格式化輸出方式,其中前兩種為%-formatting及str.format ,第三種即為 f-string。

1.%-formatting

據傳該格式化方法源於C..

>>>username = input("請輸入用戶名:")
>>>pwd = input("請輸入密碼:")
>>>print("用戶名為:%s,密碼為:%s" %(username, pwd))
用戶名為:張三,密碼為:123456

%后字符含義:

  • %s:str,字符類型,用str()方法處理對象
  • %d(i):decimal,十進制數
  • %x: hex, 十六進制數
  • %f: float,浮點數
  • %r:類似於%s類型,用rper()方法處理對象,此外用%r打印時能夠重現它所代表的對象 (拓展:Difference between __str__ and __repr__

指定長度:

  •  %5d:右對齊,不足左邊補空格
  •  %-5d:- 代表左對齊,不足右邊默認補空格
  •  %05d:右對齊,不足左邊補0      

 浮點數:

  • %f: 默認是輸出6位有效數據, 會進行四舍五入
  • %.8f:指定小數點位數的輸出,保留小數點后8位
  • %4.8f:4代表整個浮點數的長度,包括小數,只有當字符串的長度大於4位才起作用

 

2.str.format

例:格式化輸出

------------ info of XXX ------------
Name : XXX
Age : 25
job : XXXX
Hobby: XXXXX
------------------ end ----------------

2.1不帶編號

name = "XXX"
age = 25
job = "XXXX"
hobby = "XXXXX"

print("""
------------ info of {} ------------
Name : {}
Age : {}
job : {}
Hobby: {}
------------------ end ------------------
""".format(name, name, age, job, hobby))

2.2帶編號

name = "XXX"
age = 25
job = "XXXX"
hobby = "XXXXX"

print("""
------------ info of {0} ------------
Name : {0}
Age : {1}
job : {2}
Hobby: {3}
------------------ end ------------------
""".format(name, age, job, hobby))

2.3帶關鍵字

print("""
------------ info of {name} ------------
Name : {name}
Age : {age}
job : {job}
Hobby: {hobby}
------------------ end ------------------
""".format(name="XXX", age=25, job="XXXX", hobby="XXXXX"))

*2.4傳入列表(元組)

list = ["XXX", 25, "XXXX", "XXXXX"]
print("""
------------ info of {0} ------------
Name : {0}
Age : {1}
job : {2}
Hobby: {3}
------------------ end ------------------
""".format(*list))

*2.5傳入字典

dic = {"name": "XXX",
       "age": 25,
       "job": "XXXX",
       "hobby": "XXXXX"}
print("""
------------ info of {name} ------------
Name : {name}
Age : {age}
job : {job}
Hobby: {hobby}
------------------ end ------------------
""".format(**dic))

*2.6指定長度輸出

  格式{:*>n}

  • >:右對齊
  • <:左對齊
  • ^:中間對齊
  • n:指定的長度
print("左對齊是:{0:*<5},\n右對齊是:{1:*>5},\n居中的是:{2:*^5}".format("", "", ""))

輸出:

 

3.f-string(python解釋器3.6版本后可用)

>>>name = "zhangsan"
>>>age = 25
>>>print(f"我的名字是{name},年齡是{age}")
我的名字是zhangsan,年齡是25

 


免責聲明!

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



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