python

导航

Python占位符格式化详解

来源 :中华考试网 2020-10-30

  占位符,顾名思义就是插在输出里站位的符号。占位符是绝大部分编程语言都存在的语法, 而且大部分都是相通的, 它是一种非常常用的字符串格式化的方式。

  1. 常用占位符的含义

  s : 获取传入对象的__str__方法的返回值,并将其格式化到指定位置

  r : 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置

  c : 整数:将数字转换成其unicode对应的值,10进制范围为 0 <= i <= 1114111(py27则只支持0-255);字符:将字符添加到指定位置

  o : 将整数转换成 八 进制表示,并将其格式化到指定位置

  x : 将整数转换成十六进制表示,并将其格式化到指定位置

  d : 将整数、浮点数转换成 十 进制表示,并将其格式化到指定位置

  e : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)

  E : 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写E)

  f : 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)

  F : 同上

  g : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是e;)

  G : 自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数法),并将其格式化到指定位置(如果是科学计数则是E;)

  % : 当字符串中存在格式化标志时,需要用 %%表示一个百分号;

  2. 常用占位符应用举例

  1. 格式化字符串

1
2
3
>>> print ("This website name is %s" % ("pythontab.com"))
this website name is pythontab.com
>>>

  2. 格式化整数

1
2
3
>>> print ("The rank score is %d" % (100.0))
>>> The rank score is 100
>>>

  3. 格式化浮点数

1
2
3
>>> print ("Yao Ming's height is %f m"%(2.29))
Yao Ming's height is 2.290000 m
>>>

  4. 格式化浮点数(指定保留小数点位数)

1
2
3
>>> print ("Yao Ming's height is %.1f m"%(2.29))
Yao Ming's height is 2.3 m
>>>

  5. 指定占位符宽度

1
2
3
>>> print ("Name : s, Age : , Height: %8.2f"%("Yao Ming", 37, 2.29))
Name :   Yao Ming, Age :        37, Height :     2.29
>>>

  格式比较难看, 下面我们来做一下对齐

  6. 指定占位符宽度 - 左对齐

1
2
3
>>> print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("Yao Ming", 37, 2.29))
Name : Yao Ming  , Age : 37       , Height : 2.29    
>>>

  注:

  格式化可选标志符, 可选参数

  + 右对齐;正数前加正好,负数前加负号;

  - 左对齐;正数前无符号,负数前加负号;

  空格 右对齐;正数前加空格,负数前加负号;

  0 右对齐;正数前无符号,负数前加负号;用0填充空白处

  如: -10s, 表示10个字符串位置, 左对齐,后面用空格填充

  7. 指定占位符 - 用0当占位符

1
2
3
>>> print ("Name : %-10s, Age :  d, Height : .2f"%("Yao Ming", 37, 2.29))
Name : Yao Ming  , Age : 000000037, Height : 00002.29
>>>

  3. 总结

  占位符的使用非常常见, 也非常实用, 它可以很好的帮助我们解决一些字符串格式化的问题, 变换出多种用法, 一些常用的占位符大家可以记住, 以便提升编程效率。

分享到

相关资讯