python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能。
基本語法是通過 {} 和 : 來代替以前的 % 。
format 函式可以接受不限個引數,位置可以不按順序。
>>>"{} {}".format("hello", "world") # 不設定指定位置,按預設順序 'hello world' >>> " ".format("hello", "world") # 設定指定位置 'hello world' >>> " ".format("hello", "world") # 設定指定位置 'world hello world'
也可以設定引數:
#!/usr/bin/python # -*- coding: utf-8 -*- print("**名:, 位址 ".format(name="菜鳥教程", url="www.runoob.com")) # 通過字典設定引數 site = print("**名:, 位址 ".format(**site)) # 通過列表索引設定引數 my_list = ['菜鳥教程', 'www.runoob.com'] print("**名:, 位址 ".format(my_list)) # "0" 是必須的
輸出結果為:
也可以向 str.format() 傳入物件:
#!/usr/bin/python # -*- coding: utf-8 -*- class assignvalue(object): def __init__(self, value): self.value = value my_value = assignvalue(6) print('value 為: '.format(my_value)) # "0" 是可選的
輸出結果為:
value 為: 6下表展示了 str.format() 格式化數字的多種方法:
>>> print("".format(3.1415926));數字3.14
格式輸出
描述3.1415926
3.14
保留小數點後兩位
3.1415926
+3.14
帶符號保留小數點後兩位
-1-1.00
帶符號保留小數點後兩位
2.71828
3不帶小數505
數字補零 (填充左邊, 寬度為2)
55***
數字補x (填充右邊, 寬度為4)
1010xx
數字補x (填充右邊, 寬度為4)
1000000
1,000,000
以逗號分隔的數字格式
0.25
25.00%
百分比格式
1000000000
1.00e+09
指數記法
1313
右對齊 (預設, 寬度為10)
1313
左對齊 (寬度為10)
1313
中間對齊 (寬度為10)
11
''.format(11)''.format(11)
''.format(11)
''.format(11)
''.format(11)
''.format(11)
1011進製1113
b0xb
0xb
^, <, > 分別是居中、左對齊、右對齊,後面帶寬度, : 號後面帶填充的字元,只能是乙個字元,不指定則預設是用空格填充。
+ 表示在正數前顯示 +,負數前顯示 -; (空格)表示在正數前加空格
b、d、o、x 分別是二進位制、十進位制、八進位制、十六進製制。
此外我們可以使用大括號 {} 來轉義大括號,如下例項:
#!/usr/bin/python # -*- coding: utf-8 -*- print ("{} 對應的位置是 }".format("runoob"))
輸出結果為:
runoob 對應的位置是
python格式化輸出
原文 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 格式標記字串 要輸出的值組 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部...
python 格式化輸出
usr bin python coding utf 8 可以指定所需長度的字串的對齊方式 預設 左對齊 右對齊 中間對齊 只用於數字 在小數點後進行補齊 print 1 t format wangyu print 2 t format 1.1415926 print 3 t format 1.141...
Python格式化輸出
python時間輸出格式化 python格式化日期時間的函式為datetime.datetime.strftime 由字串轉為日期型的函式為 datetime.datetime.strptime 兩個函式都涉及日期時間的格式化字串,列舉如下 舉乙個例子 ebay中時間格式為 sep 21 09 16...