400-650-7353
您所在的位置:首页 > IT干货资料 > python > 【Python基础知识】使用format()方法格式化字符串

【Python基础知识】使用format()方法格式化字符串

  • 发布: python培训
  • 来源:python干货资料
  • 2020-08-14 16:24:33
  • 阅读()
  • 分享
  • 手机端入口

Python 3引入了一种新的方式来格式化字符串,这种方式也反向移植到了Python 2.7中。“新式”格式化字符串废除了%操作符这种特殊语法,使得格式化字符串更常规。通过在字符串对象上调用format()方法来格式化字符串。

format()方法要求字符串中待格式化的字符串用花括号“{}”占位:

  1. >>> score = 59 
  2. >>> name = 'Ming' 
  3. >>> # format()方法将score和name按顺序格式化,即score和name按顺序“填充” 
  4. >>> '{} {}'.format(score, name) 
  5. '59 Ming' 

1、格式化数字

格式化数字时,如果不使用任何说明符,那么“{}”仅起到占位的作用,不会改变原本的数字:

  1. >>> '我的幸运数字是{}'.format(7
  2. '我的幸运数字是7' 
  3. >>> '圆周率约等于{}'.format(3.14
  4. '圆周率约等于3.14' 

“:d”说明符用于将数字转换成整数,如果提供的数字无法转换成整数(如浮点数),Python解释器将会报错:

  1. >>> '{:d}'.format(7
  2. '7' 
  3. >>> '{:d}'.format(3.14
  4. Traceback (most recent call last): 
  5.   File "<stdin>", line 1in <module> 
  6. ValueError: Unknown format code 'd' for object of type 'float' 

“:f”说明符用于将数字转换成浮点数,“新式”格式化字符串的方式也可以指定浮点数位数:

  1. >>> '{:f}'.format(3.14)   # 默认位数为小数点后6位 
  2. '3.140000' 
  3. >>> '{:.2f}'.format(3)   # 指定为小数点后2位 
  4. '3.00' 

当小数位数超出指定的位数时,会以四舍五入的形式舍弃后面的小数:

  1. >>> '{:.5f}'.format(3.1415926)   # 保留小数点后5位 
  2. '3.14159' 
  3. >>> '{:f}'.format(3.1415926)   # 默认保留小数点后6位 
  4. '3.141593' 

可以使用正号“+”来显式指出数字为正,当数字为负数时,不需要使用多余的符号:

  1. >>> '{:+d}'.format(7
  2. '+7' 
  3. >>> '{:d}'.format(-7
  4. '-7' 

使用“:,”进行格式化,会将数字的每三位加一个逗号:

  1. >>> '{:,}'.format(123456789
  2. '123,456,789' 

2、格式化字符串

当需要格式化多个字符串时,format()方法的参数需要用逗号隔开:

  1. >>> '{}  {}  {}'.format(7'Ming'3.14
  2. '7  Ming  3.14' 

它们本质上是元组数据类型,并且元组中包含的每个项都可以通过其索引号(索引号从0开始)进行调用。可以将这些索引号传递到用作原始字符串中占位符的“{}”中:

  1. >>> '{0} {1} {2}'.format(7'Ming'3.14)   # 0 1 2 为默认顺序 
  2. '7 Ming 3.14' 
  3. >>> '{2} {1} {0}'.format(7'Ming'3.14)   # 将顺序调整为2 1 0 
  4. '3.14 Ming 7' 
  5. >>> '{2} {0} {1}'.format(7'Ming'3.14)   # 将顺序调整为2 0 1 
  6. '3.14 7 Ming' 

3、使用字符串名称

可以在占位符的“{}”中填入待格式化的字符串名称,这样可以使原始字符串看起来更加清晰:

  1. >>> '{name}的分数是{score}'.format(name='Ming', score=88
  2. 'Ming的分数是88' 

4、填充和对齐

可以通过附加参数增加字符串长度来填充字符串,或者在字符串周围创造“空间”。当需要可视化地组织大量数据时,这会很有用,下面是一些例子:

  1. >>> '{:10}'.format('Ming')   # 10代表字符串一共占用10个字符 
  2. 'Ming      ' 
  3. >>> '{:>10}'.format('Ming')   # >使字符串右对齐,一共占用10个字符 
  4. '      Ming' 
  5. >>> '{:^10}'.format('Ming')   # ^使字符串居中,一共占用10个字符 
  6. '   Ming   ' 

除了用空格填充字符串外,还可以用其他字符来填充字符串:

  1. >>>  
  2. >>> '{:_<10}'.format('Ming')   # 使用_填充字符串,<使字符串左对齐 
  3. 'Ming______' 
  4. >>> '{:s<10}'.format('Ming')   # 使用s填充字符串,<使字符串左对齐 
  5. 'Mingssssss' 
  6. >>> '{:_>10}'.format('Ming')   # 使用_填充字符串,>使字符串右对齐 
  7. '______Ming' 
  8. >>> '{:_^10}'.format('Ming')   # 使用_填充字符串,^使字符串居中 
  9. '___Ming___' 

在格式化数字时,也可以填充字符串:

  1. >>> '{:10d}'.format(59
  2. '        59' 
  3. >>> # 6代表一共占用6个字符,0代表使用0填充,2代表保留小数点后2位 
  4. >>> '{:06.2f}'.format(3.14159265
  5. '003.14' 

5、截断长字符串

“.”用于将字符串截断成指定长度:

  1. >>> '{:.4}'.format('Xiao Ming')   # 截断成4位字符串 
  2. 'Xiao' 
  3. >>> '{:8.4}'.format('Xiao Ming')   # 截断成4位字符串,一共占用8个字符 
  4. 'Xiao    ' 

 

文章“【Python基础知识】使用format()方法格式化字符串”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2020/52149.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME