这是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,c
b,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} 操作了