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

Posted yinghualuowu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 字符串格式化%与format() 函数 九相关的知识,希望对你有一定的参考价值。

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

 

以上是关于Python 字符串格式化%与format() 函数 九的主要内容,如果未能解决你的问题,请参考以下文章

Python格式化字符串%与format的区别

python format字符串格式化数学意义的函数与python中的函数 day14

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

Python面试必考重点之字符串与正则表达式第四关——format格式化字符串的详细用法

Python面试必考重点之字符串与正则表达式第四关——format格式化字符串的详细用法

Python中的format()函数