Python2.6 開始,新增了一種格式化字符串的函數 str.format() ,它增強了字符串格式化的功能。
當然,format()函數也能對數字進行格式化處理。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。
1.通過位置
>>>"{} {}".format("hello", "world") # 不設置指定位置,按默認順序
'hello world'
>>> "{0} {1}".format("hello", "world") # 設置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 設置指定位置
'world hello world'
2.通過關鍵字等方式
#通過關鍵字
print("名字:{name}, 地址 {url}".format(name="python學習", url="https://www.python.org/"))
# 通過字典設置參數
site = {"name": "python學習", "url": "https://www.python.org/"}
print("網站名:{name}, 地址 {url}".format(**site))
# 通過列表索引設置參數
my_list = ['python學習', 'https://www.python.org/']
print("網站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必須的
3.特殊符號結合使用
^, <, > 分別是居中、左對齊、右對齊,後面帶寬度,
: 號後面帶填充的字符,只能是一個字符,不指定則默認是用空格填充。
+ 表示在正數前顯示 +,負數前顯示 -;
(空格)表示在正數前加空格
b、d、o、x 分別是二進制、十進制、八進制、十六進制。
此外我們可以使用大括號 {} 來轉義大括號,
print('{:^14}'.format('python')) #居中對齊
print('{:>14}'.format('python')) #右對齊
print('{:<14}'.format('python')) #左對齊
print('{:*<14}'.format('python'))
print('{:&>14}'.format('python'))
精度和類型f精度常和f一起使用
print('{:.1f}'.format(4.234324525254))
print('{:.4f}'.format(4.1))
進制轉化,b o d x 分別表示二、八、十、十六進制
b、d、o、x 分別是二進制、十進制、八進制、十六進制。
print('{:b}'.format(250))
print('{:o}'.format(250))
print('{:d}'.format(250))
print('{:x}'.format(250))
千分位分隔符,這種情況只針對與數字
print('{:,}'.format(100000000))
print('{:,}'.format(235445.234235))
還有很多其他的數字的格式化用法,可參照下圖對其進行了解:
下面是網站上找的不錯的強化使用的例子,如有興趣,可以看看,增加記憶~~
舉例
>>> print("%6.3f" % 2.3)
2.300
- 第一個 % 後面的內容為顯示的格式說明,6 為顯示寬度,3 為小數點位數,f 為浮點數類型
- 第二個 % 後面為顯示的內容來源,輸出結果右對齊,2.300 長度為 5,故前面有一空格
>>> print("%+10x" % 10)
+a
x 為表示 16 進制,顯示寬度為 10,前面有 8 個空格。
>>>print("%-5x" % -10)
-a
%-5x 負號為左對齊,顯示寬度為 5,故 -a 後面有 3 個空格
>>>pi=3.1415
>>>print ("pi的值是%s"%pi)
pi的值是3.1415
>>>print ("pi的值是%.8f"%pi)
pi的值是3.14150000
上面的 width, precision 為兩個整數。我們可以利用 *,來動態代入這兩個量。比如:
>>> print("%10.*f" % (4, 1.2))
1.2000
以下是補充
簡單的說,這是一種將其他變量置入字符串特定位置以生成新字符串的操作,比如說:
>>> n = "Python"
>>> "My name is %s" % n
'My name is Python'
這段代碼首先定義了一個名為 n 的變量,內容為 Python。然後下方的字符串中有一個 %s,他的含義是“這裡將被替換成一個新的字符串”,用作替換的內容放在字符串後面的%後面,就是那個 n。所以最終這個字符串會變成 My name is Python。
老鐵們,大佬們,今天就給大家介紹到這裡啦~~有興趣的可以加關注或點贊轉發給朋友喲~【愛他(她)就讓他(她)去搬磚吧】
敬請期待~~你我一同進步!!!有任何問題皆可留言詢問~~謝各位大佬關注!!
閱讀更多 前端兩分鐘 的文章