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!

推薦閱讀: