python 内置的format方法相当的强大,这里举一些比较有用的方法
#!/usr/bin/env python
#coding:utf-8
#@Author:Andy
# str.format()
# {} 占位符
print("I'm {}".format('andy'))
# output I'm andy
# {0} 数字形式
print("He's {0} years old {1} years older than me.".format(25, 5))
# output : He's 25 years old 5 years older than me.
# 数字的顺序是可心修改变的,但这时后面参数也就跟着变
print("He's {1} years old {0} years older than me.".format(5, 25))
# output : He's 25 years old 5 years older than me.
# 关键字
print("His name is {name} and {age} years old ".format(name="andy", age=20))
# output : His name is andy and 20 years old
# 数字与关键字混合使用
print("His name is {0} and {age} years old ".format('andy', age=20))
#output : His name is andy and 20 years old
# 这里的format表现与python 函数中的位置参数,关键字参数很相似
# 格式控制,高级字符串控制
# 包含的可靠参数有:[fill,align,sign,0,width,.precision,type]
# fill 要填充的字符
# align 对齐方式, < ^ > 分别表示左中右
# sign 取值有1:+,所有数字签名都要加上符号;2:-,默认值,只在负数签名加符号;3:空格,在正数前面加上一个空格;
# 用0填充数值前的空白
# 宽度
# precision 精度的位数
# type 数据类型
print("{:-^10}".format('*'))
# output: ----*-----
!r 就是 repr --->%r!s 就是 str --->%s!a 就是 ascii ---%a
这三个标志是使用后面的方法作用在前面的值上:
看下面这个例子:
s = "This is {0!a} {1!s} {2!r}".format('a','b','c')
s
Out[7]: "This is 'a' b 'c'"
仔细看,a,b,c的表示方式并不相同.
在3.1版本后:{0} {1} {2} 中的索引可以省略,直接写成:{}{}{}
"{0}{1}{2}".format('a', 'b', 'c')
Out[11]: 'abc'
"{}{}{}".format('a','b','c')
Out[12]: 'abc'
浙公网安备 33010602011771号