现在的位置: 主页 > 联系方式 > 文章正文

Python 字符串格式化

作者:成都渝祥金属丝网制品有限公司 来源:www.cdyuxiang.com 未知发布时间:2017-09-03 12:40:34
Python 字符串格式化

Python 字符串格式化 字符串格式化

Python的字符串格式化有两种方式:%格式符方式,format方式

1. %格式符

%[(name)][flags][width].[precision]typecode

“%”是Python风格的字符串格式化操作符,非常类似C语言里的printf()函数的字符串格式化(C语言中也是使用%)。

格式化符号 说明
%c 转换成字符(ASCII 码值,或者长度为一的字符串)
%r 优先用repr()函数进行字符串转换
%s 优先用str()函数进行字符串转换
%d / %i 转成有符号十进制数
%u 转成无符号十进制数
%o 转成无符号八进制数
%x / %X 转成无符号十六进制数(x / X 代表转换后的十六进制字符的大小写)
%e / %E 转成科学计数法(e / E控制输出e / E)
%f / %F 转成浮点数(小数部分自然截断)
%g / %G %e和%f / %E和%F 的简写
%% 输出% (格式化字符串里面包括百分号,那么必须使用%%)
格式化操作符辅助符

通过”%”可以进行字符串格式化,但是”%”经常会结合下面的辅助符一起使用。

辅助符号 说明
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号(+)
# 在八进制数前面显示零(0),在十六进制前面显示”0x”或者”0X”(取决于用的是”x”还是”X”)
0 显示的数字前面填充”0”而不是默认的空格
(var) 映射变量(通常用来处理字段类型的参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

常用方法示例:

print "%.1f" % 2.5 print "%f %4d " % (2.5, 100) 2. format方式

[[fill]align][sign][#][0][width][,][.precision][type]

Python2.6开始,新增了一种格式化字符串的函数str.format(),通过这个函数同样可以对字符串进行格式化处理。在format()函数中,使用“{}”符号来当作格式化操作符。

常用示例:

# 精度 # ---1.23---- '---{:.2f}----'.format(1.2345) # 格式化位所占宽度 # <,内容左对齐 >,内容右对齐(默认) ^,内容居中 # ---******welcome*******---- '---{:*^20s}----'.format('welcome') # ---*************welcome---- '---{:*>20s}----'.format('welcome') # ---welcome*************---- '---{:*<20s}----'.format('welcome') # 不同进制输出 # numbers: 1111,17,15,f,F, 1587.623000%,A "numbers: {:b},{:o},{:d},{:x},{:X}, {:%},{:c}".format(15, 15, 15, 15, 15, 15.87623, 65) # format常用格式化 tp1 = "i am {}, age {}, {}".format("seven", 18, 'alex') tp2 = "i am {}, age {}, {}".format(*["seven", 18, 'alex']) tp3 = "i am {0}, age {1}, really {0}".format("seven", 18) tp4 = "i am {0}, age {1}, really {0}".format(*["seven", 18]) tp5 = "i am {name}, age {age}, really {name}".format(name="seven", age=18) tp6 = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}) tp7 = "i am {0[0]}, age {0[1]}, really {0[2]}".format([1, 2, 3], [11, 22, 33]) tp8 = "i am {:s}, age {:d}, money {:f}".format("seven", 18, 88888.1) tp9 = "i am {:s}, age {:d}".format(*["seven", 18]) tp10 = "i am {name:s}, age {age:d}".format(name="seven", age=18) tp11 = "i am {name:s}, age {age:d}".format(**{"name": "seven", "age": 18}) """ i am seven, age 18, alex i am seven, age 18, alex i am seven, age 18, really seven i am seven, age 18, really seven i am seven, age 18, really seven i am seven, age 18, really seven i am 1, age 2, really 3 i am seven, age 18, money 88888.100000 i am seven, age 18 i am seven, age 18 i am seven, age 18 """

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:黄石SEO http://huangshi.raoyu.net

上一篇:卡汀财经—FRM(金融风险管理师)简介 下一篇:最后一页