专门做餐饮运营的网站,wordpress 阿里云 漏洞,软文素材网站,wordpress下载视频教程Python3字符串格式化输出有两种形式实现#xff1a;a#xff1a;字符串格式化表达式#xff1a; ...%... % (values)b#xff1a;字符串格式化方法调用#xff1a;...{}....format(values) 或者 f...{xx}...1:字符串格式化的类型码(typecode)(表1)2: 字符串格式化表达式格…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.231235e02]2----%20.7e [ 1.2312346e02]3----%020.7e [00000001.2312346e02]4----%-20.7e [1.2312346e02 ]%g根据显示内容选择格式规则为指数小于-4或者 指数大于等于精度 使用指数格式e其他情况使用小数格式f#%g:默认精度为6根据显示内容选择格式规则为指数小于-4或者 指数大于等于精度 使用指数格式e其他情况使用小数格式f举例a 123456.123456789a 123456.123456789 1.23456123456789e05 指数为5a 123456.123456789# # %g 精度默认为6位a的指数为5使用小数格式fprint(1----%g,[%g] % (a,)) # %10.2g 精度为2a的指数为5使用指数格式eprint(2----%10.2g,[%10.2g] % (a,)) # %.4g 精度为4a的指数为5使用指数格式eprint(3----%.4g,[%.4g] % (a,)) # %020.7g 精度为7a的指数为5使用小数格式fprint(4----%020.7g,[%020.7g] % (a,)) # %020.7g 精度为7a的指数为5使用小数格式fprint(5----%-20.7g,[%-20.7g] % (a,)) 1----%g [123456]2----%10.2g [ 1.2e05]3----%.4g [1.235e05]4----%020.7g [000000000000123456.1]5----%-20.7g [123456.1 ]2.3字符串输出%s%10s ——右对齐占位符10位%-10s ——左对齐占位符10位%.2s ——截取2位字符串%10.2s ——10位占位符截取两位字符串s abcdefprint(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(nameixusy88,age18)) # 关键字参数顺序可以打乱。print(4----:age:{age}name:{name}.format(nameixusy88,age18)) 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:18name: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.234567123456789e06print(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.2e06]3----: [1.2e06 ]4----: [ 1.2e06 ]5----: [m1.2e06mm]二进制八进制十六进制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,0x644format的用法变形: f{name}f{name}:可以在字符串前加f以达到格式化的目的在{}里加入变量在{}里面可以像在代码块中一样使用此变量(比如调用属性方法把它作为其他函数的参数等)# 1: a.format(b)print(1----:,a.format(b):)s1 Hellos2 Worldprint(2----:,{0} {1} .format(s1,s2)) print(**************)f{name}:可以在字符串前加f以达到格式化的目的在{}里加入变量名在{}里面可以像在代码块中一样使用此变量(比如调用属性方法把它作为其他函数的参数等)s1 Hellos2 Worldprint(3----:,f{s1} {s2})print(4----:,f{len(s1)} {s2.count(o)} {s2.upper()}) # 还可以使用函数 name ixusy88age 18sex Manjob ITsalary 8888.9868 # 调用它的方法作为函数的参数print(5----:,fmy name is {name.capitalize()}. the len of {name} is {len(name)})# 也可以使用相应的格式print(6----:,fI am {age:*^10} years old.)print(7----:,fI am a {sex})print(8----:,fMy salary is {salary:10.3f}) # 还可以在{} 中进行if判断print(9----:,fsex is {男 if sex Man else 女}) import sysprint(10----:,fPlatform is {sys.platform}) st (123,345,567,)print(11----:,f{st})# 取某个元素print(12----:,f{st[0]}) dic {name:ixusy88,age:18}print(13----:,fdic{dic},age{dic[age]})# 推导式print(14----:,f{[x for x in st]}) 输出结果1----: a.format(b):2----: Hello World **************3----: Hello World4----: 5 1 WORLD5----: my name is Ixusy88. the len of ixusy88 is 76----: I am ****18**** years old.7----: I am a Man8----: My salary is 8888.9879----: sex is 男10----: Platform is win3211----: (123, 345, 567)12----: 12313----: dic{name: ixusy88, age: 18},age1814----: [123, 345, 567]