#format()的(槽){}是从0开始的
>>> '{0} love {1}'.format('I','you')
'I love you'
>>> '{1} love {0}'.format('I','you')
'you love I'
>>> '{-1} love {0}'.format('I','you')
Traceback (most recent call last):
File "", line 1, in
'{-1} love {0}'.format('I','you')
KeyError: '-1'
#format()的{}(槽)出现次数和format()方法中出数量不一致,则必须在槽中用序号指定参数使用
>>> '{} love {}'.format('I')
Traceback (most recent call last):
File "", line 1, in
'{} love {}'.format('I')
IndexError: tuple index out of range
>>> '{0} love {0}'.format('I')
'I love I'
#format()的(槽){(引导符):(填充)(对齐)(width)(,(千元分隔符))(.(精度))(类型)}格式控制
>>> a = '我正在学习Python!'
>>> '{:15}'.format(a) #默认左对齐
'我正在学习Python! '
>>> a
'我正在学习Python!'
>>> '{:1}'.format(a) #指定宽读为1
'我正在学习Python!'
>>> '{:<30}'.format(a) #左对齐30宽度
'我正在学习Python! '
>>> '{:>30}'.format(a) #右对齐30宽度
' 我正在学习Python!'
>>> '{:^30}'.format(a) #居中对齐30宽度
' 我正在学习Python! '
>>> '{:=^30}'.format(a) #填充=并居中对齐30宽度
'=========我正在学习Python!========='
#format()的{}(槽)一定要按顺序是:(填充)(对齐)(宽度)(,(千元分隔符))(.(精度))(类型)
>>> '{:=30}'.format(a)
Traceback (most recent call last):
File "", line 1, in
'{:=30}'.format(a)
ValueError: '=' alignment not allowed in string format specifier #'='在字符串格式说明符中不允许对齐
#format()的格式控制标记可以用变量表示,则用槽{}来指定所对应的控制标记及数量
>>> a = '我正在学习Python!'
>>> x = '#'
>>> y = '>'
>>> w = 30
>>> '{0:{1}{2}{3}}'.format(a,x,y,w)
'##################我正在学习Python!'
>>> '{1:{0}{1}{2}}'.format(x,y,w,a) #指定显示填充和对齐
'#############################>'
>>> '{2:{0}{1}{2}}'.format(x,y,w,a) #指定显示填充和宽度
'############################30'
>>> '{3:{0}{1}{2}}'.format(x,y,w,a) #要看参数的顺序,才指定参数的序号
'##################我正在学习Python!'
>>> '{1:{1}{2}{3}}'.format(a,x,y,w) #指定显示填充
'##############################'
>>> '{2:{1}{2}{3}}'.format(a,x,y,w) #指定显示填充和对齐
'#############################>'
>>> '{3:{1}{2}{3}}'.format(a,x,y,w) #指定显示填充和宽度
'############################30'
>>> '{0:{1}{2}{3}}'.format(a,x,y,w) #指定显示所有参数
'##################我正在学习Python!'
#不能从自动字段编号切换到手动字段规范
>>> '{:{1}{2}{3}}'.format(a,x,y,w)
Traceback (most recent call last):
File "", line 1, in
'{:{1}{2}{3}}'.format(a,x,y,w)
ValueError: cannot switch from automatic field numbering to manual field specification
#format()的千位分隔符控制格式
>>> a = 12345678
>>> '{:~^20}'.format(a)
'~~~~~~12345678~~~~~~'
>>> '{:~^20,}'.format(a)
'~~~~~12,345,678~~~~~'
#format()的精度和类型控制格式
>>> '{:.2f}'.format(a)
'123.46'
>>> '{:.1f}'.format(a)
'123.5'
#格式说明符缺少精度
>>> '{:.f}'.format(a)
Traceback (most recent call last):
File "", line 1, in
'{:.f}'.format(a)
ValueError: Format specifier missing precision
>>> '{:~^20.3f}'.format(a)
'~~~~~~123.457~~~~~~~'
#format()所有的控制格式
>>> '{:~^20,.2f}'.format(a)
'~~~~~~1,234.57~~~~~~'
>>> '{:~^20,.3f}'.format(a)
'~~~~~1,234.568~~~~~~'
#format()对str(字符串)的精度控制格式,即对字符串数量的控制
>>> a = '我在学习Python!'
>>> '{:.10}'.format(a)
'我在学习Python'
>>> '{:.5}'.format(a)
'我在学习P'
标签:内置,love,format,Python,30,学习,对齐
来源: https://blog.csdn.net/qq_41709494/article/details/100068147