11-字符串的格式化
a=3
b=5
print(str(a)+’+’+str(b)+’=’+str(a+b))
#对于字符串的拼接,我们称之为格式化字符串
#方案一 %的方式:%s表示字符串类型的占位符
# %s表示字符串,%d表示整数类型,%f 表示浮点类型的数字。前后参数的数量要一致,%x十六进制
#当输入的位数不足n,则用空格补位,所有都是右对齐,当输入的value小于%md位数,显示全部
# 对于数字而言,根据需要左侧补零
print('%s+%s=%s'%(a,b,a+b))
info='我叫%s,你叫%s,他叫%s,%07d年'%('Divina','zty','lhx',2021)
print(info)
#当输入的位数不足n,则用空格补位,所有都是右对齐
3+5=8
3+5=8
我叫Divina,你叫zty,他叫lhx,0002021年
如果需要左对齐,则添加一个负号
info='我叫%2s,你叫%10s,他叫%-10s,%07d年'%('Divina','zty','lhx',2021)
print(info)
我叫Divina,你叫 zty,他叫lhx ,0002021年
number1=’%12f’%(322)
print(number1)
32.200000
%12f,12,位,补了3个空格
number1=’%12.1f’%(322)
32.2
%12.1f表示12位,同时只保留一位小数
%3.1f 超过三位正常显示
%012.1f左对齐的时候位数不足也可以补零
方案二 :字符串默认左对齐,数字默认右对齐
#最低位数用:n 表示,顺序填值
#如果要改变对其方式,{:>6}右对齐。{:<6}左对齐,^中间对齐
#前后参数的个数不一致的情况~ 前>后:报错 后>前:不报错
str1='My name is {:>19},your name is {:10},age is{:7}'.format('Divina','symon',19)
print(str1)
My name is Divina,your name is symon ,age is 19
数字也可以补0
{:07}
#前后参数的个数不一致的情况~ 前>后:报错 后>前:不报错
可以使用下标法来表示字符串内容:下标法可以倒序,但是不能空着.否则会报错,下标也不能越界
str1='My name is {0:>19},your name is {1:10},age is{2:7}'.format('Divina','symon',19)
str2='My name is {0:>19},your name is {0:10},age is{2:7}'.format('Divina','symon',19) 所有的值都可以填一个下标,冒号的前面
str3='My name is {0},your name is {0},age is{2:7}'.format('Divina','symon',19)
print(str1)
print(str2)
print(str3)
My name is Divina,your name is symon ,age is 19
My name is Divina,your name is Divina ,age is 19
My name is Divina,your name is Divina,age is 19
另外了解:
str4=‘My name is {a},your name is {b}’.format(a=‘Divina’,b=‘symon’)
print(str4)
#本来就要打印{}
# {}占位符
# your name is {{{b}}} 取值 {symon}表示大括号和占位符都有
# your name is {{b}} 两个{}是{}本身打印的是{b}
注意:
python3,6以后版本,可以使用f’‘的方式表示格式化字符串
eg:
name1=‘xiaohua’
name2=‘xiaowang’
print(f’My name is{name1:>19},her name is {name2:<10}’)