关键词搜索

源码搜索 ×
×

python字符串的格式化输出

发布2021-08-20浏览663次

详情内容

字符串格式化输出可以很方便地对字符串进行处理,同时解决字符串和变量同时输出的问题。也使得代码更具可读性。例如:

点击查看代码

python 3.5以及更早的版本,我们使用format()方法。python 3.6则引入了f字符串方法。

1.format方法

  1. 基本用法

<字符串>.format(<以逗号分隔的参数>)

字符串中带有一系列待填充槽,用大括号{}表示,括号里带有序号。该方法将参数按序号填充到槽里,返回一个新字符串。如果槽中没有序号,则按顺序填充。

槽的序号顺序可以自己指定(从0开始),参数的序号从零开始。

点击查看代码

  1. x='{1} > {0} > {2}'.format('A','B','C')
  2. print(x)
  3. '''
  4. B > A > C
  5. '''

也可以设置参数。比如'{x}'.format(x='libeiqun')。参数还可以通过列表和字典来设置。

点击查看代码

  1. x='{x} is a {y}'.format(x='tom',y='boy')
  2. print(x)
  3. '''
  4. tom is boy
  5. '''
  6. temp={'x':'li','y':'bei','z':'qun'}
  7. x='{x} {y}{z}'.format(**temp)
  8. print(x)
  9. '''
  10. li beiqun
  11. '''

      2.槽内格式控制

槽内除了参数序号,还可以包括格式控制符,用来对填充参数进行处理。

格式为:{<参数序号(可不填)>:<格式控制符>}。格式控制符可分为以下几种:

  • 空白填充:仅单个字符
  • 对齐:<左对齐     >右对齐     ^居中对齐
  • 设置宽度:设置返回字符串的长度
  • 分隔符:用于整数和浮点数,对参数加入千位分隔符。
  • 设置精度:设置浮点数的小数部分进行有效位数保留,或设置字符串的最大输出长度。
  • 类型:设置整数和浮点数的输出格式。

对于整数:b:转为二进制  c:Unicode字符  d:十进制  o:八进制  x:小写十六进制  X:大写十六进制。

对于浮点数:e:输出浮点数的e指数格式  E:E指数格式  f:标准浮点数格式  %:输出百分比格式

输出浮点数常用<.精度>对小数部分进行取精度。

空白填充,对齐,设置宽度是相关字段。设置宽度指定返回字符串的长度;对齐指定左右中对齐方式;空白填充指定多余的字段用什么字符进行填充。它们往往组合调用。

点击查看代码

  1. x='{:*^15}'.format('hello')
  2. print(x)
  3. '''
  4. *****hello*****
  5. '''
  6. print('{x:-^30.5}'.format(x='nuisting'))
  7. '''
  8. ------------nuist-------------
  9. '''

分隔符:

点击查看代码

点击查看代码

  1. x='{:*<20,}'.format(1256554562)
  2. print(x)
  3. '''
  4. 1,256,554,562*******
  5. '''

精度设置:

点击查看代码

  1. x='{:.3f}'.format(3.1415926)
  2. print(x)
  3. '''
  4. 3.142
  5. '''
  6. x='{:-^30.5}'.format('republic')
  7. print(x)
  8. '''
  9. ------------repub-------------
  10. '''

 类型:

点击查看python教程代码

  1. x='{a:b} {a:c} {a:d} {a:o} {a:x} {a:X}'.format(a=38845)
  2. print(x)
  3. '''
  4. 1001011110111101 鞽 38845 113675 97bd 97BD
  5. '''
  6. x='{a:e} {a:E} {a:f} {a:%}'.format(a=3.1415926)
  7. print(x)
  8. '''
  9. 3.141593e+00 3.141593E+00 3.141593 314.159260%
  10. '''

2.f字符串

f字符串方法与format并无太大区别。

点击查看代码

  1. x='university'
  2. print(f'{"nuist":*^15} is our {x}')
  3. '''
  4. *****nuist***** is our university
  5. '''


 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载