Python 字符串格式化%与format() 函数 九,,这是12月规划的内容


这是12月规划的内容,2018年一月开篇~

如果有什么错误,还请提出来~

格式化这个在print已经提到一点,说实话和C语言非常类似

%的方法:

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

(name) 可选,用于选择指定的key
print("Year :%(year)s"%{‘year‘:2018})
flags 可选,可供选择的值有:+ 右对齐;正数前加正好,负数前加负号;- 左对齐;正数前无符号,负数前加负号;空格 右对齐;正数前加空格,负数前加负号;0 右对齐;正数前无符号,负数前加负号;用0填充空白处width 可选,占有宽度.precision 可选,小数点后保留的位数typecode 必选(这个应该见过)

%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 的简写

%%

输出% (格式化字符串里面包括百分号,那么必须使用%%)

%r和%s都是字符串转化,那么区别呢
1 string = "Hello\tworld\n"2 print("%s"%string)3 print("%r"%string)4 Hello    world str()得到的字符串是面向用户的5 6 ‘Hello\tworld\n‘ repr()得到的字符串是面向机器的
而其他符号大多都见过,这里不再说明

str.format()函数用"{}"和":"代替了以前的"%."符号。
[[fill]align][sign][#][0][width][,][.precision][type]
{}通过位置匹配参数,当然不写默认顺序,可以重复出现啦
*"abc"什么意思要到函数才讲了,这里理解成*"abc"=‘a‘,‘b‘,‘c‘就成
1 print("{1},{0},{2}".format(*"abc"))2 print("{1},{2},{0}".format(‘a‘,‘b‘,‘c‘))
b,a,cb,c,a
{}通过名称配置参数
1 print("{a},{b},{c}".format(a=1,b=‘s‘,c=4))
1,s,4
{}通过下标配置参数
1 alist=[‘s‘,2,‘c‘]2 print(‘{0[1]}‘.format(alist))
alist=[‘s‘,2,‘c‘]print(‘{0[1]}‘.format(alist))#2

以上也称为映射list和dict

接下来就是一连串的 {:XXXXXX} 操作了

Python 字符串格式化%与format() 函数 九

评论关闭