python中.format()方法使用詳解
前言
format語法格式:
- str.format()
- str是指字符串實例對象,常用格式為‘ ’.format()
def format(self, *args, **kwargs): # known special case of str.format """ S.format(*args, **kwargs) -> str Return a formatted version of S, using substitutions from args and kwargs. The substitutions are identified by braces ('{' and '}'). """ pass
format參數格式:
'{[index][ : [fill] align][sign][#][width][.precision][type]} {……}{……} '.format()
註意,格式中的[ ]內的參數都是可選參數,可以使用也可以不使用
- index:指定冒號**:**後面出現的參數在‘format()’中的索引值,如果沒有,則以format()中的默認順序自動分配
- fill:指定空白處的填充符。align:指定數字的對齊方式:align含義<right-aligned 左對齊(對於大部分對象時為默認)>right-aligned 右對齊 (對於數字時為默認)=數據右對齊,同時將符號放置在填充內容的最左側,該選項隻對數字類型有效^數據居中,此選項需和 width 參數一起使用
- sign:指定有無符號數,此參數的值以及對應的含義如表所示sign 參數含義+正數前面添加 ‘ + ’ ,負數前面加 ‘ – ’-正數前面不添加 ‘ + ’ ,負數前面加 ‘ – ’space正數前面添加 ‘ 空格 ’ ,負數前面加 ‘ – ’#對於二進制數、八進制數和十六進制數,使用此參數,各進制數前會分別顯示 0b、0o、0x前綴;反之則不顯示前綴width:指定輸出數據時所占的寬度. precision:如果後面存在type參數,則指的是保留小數的位數,如果type參數不存在,則是指有效數字的位數type:指定輸出數據的具體類型
一、簡單使用方法
1.無參數
foramt會把參數按位置順序來填充到字符串中,第一個參數是0,然後1 ……也可以不輸入數字,則會按照順序自動分配,而且一個參數可以多次插入
示例代碼:
name = '張三' age = 25 sex = '男' print('{}、{}、{}'.format(name, age, sex)) # 占位符不指定順序 print('{0}、{1}、{2}'.format(name, age, sex)) # 占位符制定順序 print('{0}、{2}、{1}'.format(name, age, sex)) # 換一下順序試試 print('{0}、{2}、{1}、{0}、{2}、{1}'.format(name, age, sex))
運行結果:
2. key value
示例代碼:
name1 = '張三' age1 = 25 sex1 = '男' print('name:{name}、age={age}、sex:{sex}'.format(name=name1, age=age1, sex=sex1)) print('name:{name}、sex:{sex}、age={age}'.format(name=name1, age=age1, sex=sex1))
運行結果:
3. 列表
示例代碼:
lst1 = ['張三', '男', 25] lst2 = ['李四', '男', 28] print('name:{Lst[0]},sex:{Lst[1]},age:{Lst[2]}'.format(Lst=lst1)) print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst1)) print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst2)) print('name:{0[0]},sex:{0[1]},age:{0[2]}'.format(lst1, lst2)) print('name:{1[0]},sex:{1[1]},age:{1[2]}'.format(lst1, lst2)) print('name:{0[0]},sex:{0[1]},age:{0[2]},name:{1[0]},sex:{1[1]},age:{1[2]}'.format(lst1, lst2))
運行結果:
4. 字典
示例代碼:
dic1 = {'name': '張三', 'sex': '男', 'age': 25} dic2 = {'name': '李四', 'sex': '男', 'age': 28} print('name:{Dic[name]},sex:{Dic[sex]},age:{Dic[age]}'.format(Dic=dic1)) print('name:{name},sex:{sex},age:{age}'.format(**dic2))
運行結果:
5. 類
示例代碼:
class Info(object): name = '張三' sex = '男' age = 25 print('name:{info.name},sex:{info.sex},age:{info.age}'.format(info=Info))
運行結果:
6. 魔法參數
*args表示任何多個無名參數,它是一個tuple or list;**kwargs表示關鍵字參數,它是一個 dict。
示例代碼:
lst = [',', '.'] dic = {'name': '張三', 'sex': '男', 'age': 25} print('name:{name}{0}sex:{sex}{0}age:{age}{1}'.format(*lst, **dic))
運行結果:
二、參數使用方法
示例代碼1:
# python :^:代表居中顯示,數字567,位數width=10,fill=*(填充符為*) print('{:*^10}'.format(567))
運行結果:
示例代碼2:
# python :0是填充符,2是width,表示位數為2 print('{:02}:{:02}:{:02}'.format(13, 4, 57)) print('{:05}:{:05}:{:05}'.format(13, 4, 57))
運行結果:
到此這篇關於python中.format()方法使用詳解的文章就介紹到這瞭,更多相關python .format()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python format()格式化輸出方法
- Python .format()函數使用方法詳解
- Python format函數詳談
- django中的*args 與 **kwargs使用介紹
- Python基礎之元類詳解