中print中加f_Python3中的格式化输出
生活随笔
收集整理的這篇文章主要介紹了
中print中加f_Python3中的格式化输出
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python3字符串格式化輸出有兩種形式實現:
a:字符串格式化表達式: '...%...' % (values)
b:字符串格式化方法調用:'...{}...'.format(values) 或者 f'...{xx}...'
1:字符串格式化的類型碼(typecode)
(表1)
2: 字符串格式化表達式
格式:%[(keyname)][flags][width][.precision]typecode (表2)
2.1:整數的輸出
"""%o —— oct 八進制%d —— dec 十進制 %x —— hex 十六進制""" # %da = 123# 使用字典提供值print('1---[%(age)d]=','[%(age)d]' % {'age':a} )# %dprint('2---[%d]=','[%d]' % (a,))# 前面帶 '+' 號print('3---[%+d]=','[%+d]' % (a,))# 最小寬度,默認右對齊print('4---[%5d]=','[%5d]' % (a,))# 最小寬度,默認右對齊,左邊補0print('5---[%05d]=','[%05d]' % (a,))# 最小寬度,左對齊print('6---[%-5d]=','[%-5d]' % (a,)) """結果:1---[%(age)d]= [123]2---[%d]= [123]3---[%+d]= [+123]4---[%5d]= [ 123]5---[%05d]= [00123]6---[%-5d]= [123 ]""" """上面是十進制的輸出,其他進制輸出,只要把d% 替換為o%,x%即可。%o 八進制%x 十六進制"""2.2:浮點數的輸出:
%f:
#%fa = 123.123456789# 默認6位小數print('1----%f=','[%f]' % (a,))# 最小20位,7位小數,默認右對齊print('2----%20.7f=','[%20.7f]' % (a,))# 最小20位,7位小數,右對齊,左邊補0print('3----%020.7f=','[%020.7f]' % (a,))# 最小20位,7位小數,左對齊print('4----%-20.7f=','[%-20.7f]' % (a,)) """結果:1----%f= [123.123457]2----%20.7f= [ 123.1234568]3----%020.7f= [000000000123.1234568]4----%-20.7f= [123.1234568 ]"""%e:
#%ea = 123.123456789# 默認6位小數print('1----%f=','[%e]' % (a,))# 最小20位,7位小數,默認右對齊print('2----%20.7f=','[%20.7e]' % (a,))# 最小20位,7位小數,右對齊,左邊補0print('3----%020.7f=','[%020.7e]' % (a,))# 最小20位,7位小數,左對齊print('4----%-20.7f=','[%-20.7e]' % (a,)) """結果:1----%e= [1.231235e+02]2----%20.7e= [ 1.2312346e+02]3----%020.7e= [00000001.2312346e+02]4----%-20.7e= [1.2312346e+02 ]"""%g:根據顯示內容選擇格式:
規則為:指數小于-4,或者 指數大于等于精度 使用指數格式e,其他情況使用小數格式f
2.3:字符串輸出:
'''%s%10s ——右對齊,占位符10位%-10s ——左對齊,占位符10位%.2s ——截取2位字符串%10.2s ——10位占位符,截取兩位字符串'''s = 'abcdef'print('1--[%s]=','[%s]' % s)print('2--[%10s]=','[%10s]' % s)print('3--[%-10s]=','[%-10s]' % s)print('4--[%.2s]=','[%.2s]' % s)print('5--[%10.2s]=','[%10.2s]' % s)print('6--[%-10.2s]=','[%-10.2s]' % s) """1--[%s]= [abcdef]2--[%10s]= [ abcdef]3--[%-10s]= [abcdef ]4--[%.2s]= [ab]5--[%10.2s]= [ ab]6--[%-10.2s]= [ab ]"""3: 字符串格式化方法調用:format()
格式:{fieldname component !conversionflag : formatspec} (表3)
formatspec格式:[[fill]align][sign][#][0][width][,][.precision][typecode] (表4)
fieldname
# 參數出現的位置,順序可以打亂。print('1----:age:{1},name:{0} '.format('ixusy88',18)) # 參數出現的位置,默認相對位置print('2----:name:{},age:{} '.format('ixusy88',18)) # 關鍵字參數 print('3----:name:{name},age:{age} '.format(name='ixusy88',age=18)) # 關鍵字參數,順序可以打亂。print('4----:age:{age},name:{name}'.format(name='ixusy88',age=18)) import sys# 屬性,字典print('5----:平臺:{0.platform} ;name:{1[name]},age:{1[age]}'.format(sys,{'name':'ixusy88','age':18}))print('6----:第二個是:{0[1]},第一個是:{0[0]}'.format([11,22,33])) #解包st = (10,20,30,)print('7----:第二個是:{1},第一個是:{0}'.format(*st)) lst = [100,200,300]print('8----:第二個是:{1},第一個是:{0}'.format(*lst)) """結果:1----:age:18,name:ixusy88 2----:name:ixusy88,age:18 3----:name:ixusy88,age:18 4----:age:18,name:ixusy885----:平臺:win32 ;name:ixusy88,age:186----:第二個是:22,第一個是:117----:第二個是:20,第一個是:108----:第二個是:200,第一個是:100"""整數:
# 整數a = 100print('1----[{0}]'.format(a))#最小顯示10位,默認右對齊print('2----[{0:10}]'.format(a))#最小顯示10位,左對齊print('3----[{0:<10}]'.format(a)) #最小顯示10位,居中print('4----[{0:^10}]'.format(a)) #最小顯示10位,居中,使用字符d填充剩下的print('5----[{0:d^10}]'.format(a)) #,逗號,千分為分隔符print('6----[{0:,d}]'.format(999999)) """結果:1----[100]2----[ 100]3----[100 ]4----[ 100 ]5----[ddd100dddd]6----[999,999]"""浮點數:
a = 1234567.123456789#a = 1234567.123456789 = 1.234567123456789e+06print('1----:','[{0:f}]'.format(a))# 最小顯示10位,2位精度,默認右對齊print('2----:','[{0:10.2}]'.format(a))# 最小顯示10位,2位精度,左對齊print('3----:','[{0:<10.2}]'.format(a))# 最小顯示10位,2位精度,居中print('4----:','[{0:^10.2}]'.format(a))# 使用字符m填充剩下的print('5----:','[{0:m^10.2}]'.format(a)) """1----: [1234567.123457]2----: [ 1.2e+06]3----: [1.2e+06 ]4----: [ 1.2e+06 ]5----: [m1.2e+06mm]"""二進制,八進制,十六進制:
a = 100# '#' 號會加前綴 print('二進制:{0:b},{0:#b}'.format(a))print('八進制:{0:o},{0:#o}'.format(a))print('十六進制:{0:x},{0:#x}'.format(a))"""二進制:1100100,0b1100100八進制:144,0o144十六進制:64,0x64"""4:format的用法變形: f'{name}'
f'{name}':
可以在字符串前加f以達到格式化的目的,在{}里加入變量,在{}里面,可以像在代碼塊中一樣使用此變量(比如調用屬性,方法,把它作為其他函數的參數等)
總結
以上是生活随笔為你收集整理的中print中加f_Python3中的格式化输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言学生成绩管理论文,学生成绩管理系统
- 下一篇: mysql 不会联想字段_你有没有被My