码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-02-06 14:20:36      阅读:339      评论:0      收藏:0      [点我收藏+]

标签:理解   string   fill   mat   ict   保留   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() 函数 九

标签:理解   string   fill   mat   ict   保留   format   填充   意思   

原文地址:https://www.cnblogs.com/yinghualuowu/p/8373198.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!