簡單剖析一下Python的format的用法

2022-02-28 19:02:05
本篇文章給大家帶來了的相關知識,其中主要介紹了format的用法,fotmat作為Python的的格式字串函數,主要通過字串中的花括號{},來識別替換欄位,從而完成字串的格式化,希望對大家有幫助。

推薦學習:

format的詳細講解

一.基礎用法

  1. format術語說明
    fotmat作為Python的的格式字串函數,主要通過字串中的花括號{},來識別替換欄位,從而完成字串的格式化。
print("我叫{},今年{}歲。".format("小蜜",18))#我叫小蜜,今年18歲。#花括號的個數決定了,引數的個數。但是花括號的個數可以少於引數。print("我喜歡{}和{}"format("乒乓球","羽毛球","敲程式碼"))#我喜歡乒乓球和羽毛球。"""
花括號多於引數的個數,則會報錯。
"""

2.通過數位引數傳入位置引數
傳入引數注意以下事項

  • 數位必須是大於0的整數
  • 帶數位的替換欄位可以重複
  • 數位形式的簡單欄位名相當於把欄位當成一個序列形式。通過索引的形式進行一一取值
#通過數位索引傳入引數print("名字{0},家住{1}").format("橙留香","水果村")
#帶數位的替換1欄位可以重複"pythonprint("我愛{0}。\n他愛{1}。\n{0}愛{1}".format("灰太狼","紅太狼")"""
我愛灰太狼
他愛紅太狼
灰太狼愛紅太狼
""""""
數位形式的簡單欄位名相當於把欄位當成一個序列形式。通過索引的形式進行一一取值
"""print("小明喜歡{1},{2}和{0}".foramt("海綿寶寶","機器貓","海賊王","火影忍者","龍珠"))
#小明喜歡機器貓,海賊王,和海綿寶寶

3.用關鍵字傳遞

print("我今年{age}歲,我在讀{college}".format(age=18","college="大學"))
#我今年18歲,我今年20歲#關鍵字可以隨便放置print("我今年{age}歲,我在讀{college}".format("college="大學",age=18"))

4.關鍵字和數位的混合使用
注意以下事項

  • 數位和關鍵欄位可以混合使用傳遞引數
  • 關鍵字引數必須位於位置引數之後。
  • 混合使用時,可以省略數位
  • 省略欄位名{}不能和數位形式的欄位名同時使用
#混合使用傳遞引數print("我是要當{0},他是要當{1},這個世界只有一個{truth}".format("海賊王","火影",truth="真理"))
#我要當海賊王,他要當火影,這個世界只有一個真理
#數位也可以省略print("我是要當{},他是要當{},這個世界只有一個{truth}".format("海賊王","火影",truth="真理"))
#如果關建字位於位置引數之前則會發生'''
SyntaxError: unexpected indent
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20210321105132614.png#pic_center)
'''

5.使用元組和字典傳參

  • format可以使用元組和字典傳參,倆者可以混合使用
  • 多種混合使用的時候。位置引數要在關鍵字引數前面,元組要在字典前面
a=["鳴人","火影","雛田"]print("我是{},我是要當{}的男人".format(*a))"""
我是鳴人,我是要當火影的男人
"""print("我是{1},我是要當{2}的男人".format(*a))
#使用字典傳參v={"name":"孫悟空","skill":"龜派氣功"}print("我是{name},我的絕招是{skill}".format(**v))"""
我是孫悟空,我的絕招是龜派氣功
"""#同時使用元組和字典傳參name=["卡卡羅特","界王拳"]names={"nickname":"孫君","skill":"元氣彈"}print("我是{0},我的絕招是{skill}".format(*name,**names))print("我是{nickname},我的絕招是{1}".format(*name,**names))#同時使用位置引數,元組,關鍵字引數,字典傳參。#注意位置引數要在關鍵數引數前面a=["卡卡羅特"]dic={"name":"超級賽亞人"}print("我是{0},我也是{0},因為我是正義的戰士,所以我變成了{name}".format("卡卡羅特",*a,**dic))"""
我是卡卡羅特,是孫悟空,但不可改變的是我是正義的戰士。
"""

二.昇華講解

2.1複合欄位名的使用
  • format使用數位和變數名倆種形式,這就是複合欄位
  • 複合欄位名支援兩種操作符
    - [] 方括號
    - . 點號
2.2 點號的使用
class Person:
	def __int__(self,name,addr):
		self.name=name
		self.addr=addr
p=Person("孫悟空","包子山")
#點號用法。傳遞位置引數。print("我是{0.name},家在{0.addr}".format(p))
#當只有一個欄位的時候,就可以省略數位print("我是{.name}}".format(p))
#試一下傳遞檔案物件的屬性f=open("out.txt","w")print("檔名為:"{.name}.format(f))
#傳遞關鍵字print("我是{p.name},家在{p.addr}".format(p=p))print("我是{girl.name},家在{girl.addr}".format(girl=p))"""
我是孫悟空,家在包子山。
我是孫悟空,家在包子山。
"""

2.4方括號的用法

mylist=["陳道明","www.chendaoming.cc"]print("網站名:{0[0],地址{0[1]}}".format(my_list))

2.5對齊字串

  • ^ 劇中 後面頻寬度
  • < 左對齊 後面頻寬度
  • 右對齊 後面頻寬度

  • : 後面帶填充的字元,只能是一個字元,不指定則是預設用空格填充
print("{:>5}".format(1))#寬度為5,右對齊print(":>5".format(10))print(":>5".format(100))print(":>5".format(1000))"""
輸出結果為	
	1	 
	10
	100
	1000		 "
"""

在這裡插入圖片描述

#正號表示正數print("{:+2f}".format(3.14))#+3.140000print("{:-2f}".format(-1))
#-1.000000#不帶小數的print("{:.0f}".format(3.23123131))
#3#以逗號為分隔符的print("{:,}".format(100000))
#100,000#表示一個百份比print("{:.2%}".format(0.25))
#25%

推薦學習:

以上就是簡單剖析一下Python的format的用法的詳細內容,更多請關注TW511.COM其它相關文章!