3.6 字符串的格式化操作
字符串的format方法和上一讲中是一个类型,都是python中的字符串的BIF函数
格式化字符串,是按照同音的规则,统一输出得到另一个字符串
1. format()函数
用花括号{},分别表示字段,用过位置参数 传递给字符串
str1 = "{0} love {1}.{2}".format('I','fishC','com')
print(str1)
关键字参数 如,a,b,c等,但必须使用索引来指定
str1 = "{a} love {b}.{c}".format(a = 'I',b = 'fishC',c = 'com')
print(str1)
#相当于引入了三个变量
位置参数, 如0,1,2,或者是其他的
可以使用位置参数和关键字参数结合,但应当注意
位置参数必须在关键字参数之前
str1 = "{0} love {b}.{c}".format('I',b = 'fishC',c = 'com')
print(str1)
打印花括号
str2 = "{{0}}".format("not print")
print(str2) #not print字符串没有被打印,没有字段可以被输出,打印{0},相当于反斜杠转义符
:表示格式化符号的开始
str3 = '{0:.1f}{1}'.format(27.678921,'GB') #.1 表示一位小数点,四舍五入. f表示定点数,区别于浮点数,都是打印小数
print(str3) #打印27.7GB
2. 字符串格式化符号的含义
字符串独特享有的符号:%
当字符串遇到%,则求余含义会发生改变
符号 | 作用 |
---|---|
%c | 格式化字符及其 ASCII 码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度,默认6位 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同 %e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用 %f 或 %e |
%G | 作用同 %g,根据值的大小决定使用 %f 或者 %E |
str1 = '%c' % 97
print(str1) #打印a
str1_1 = '%c %c %c' % (97,98,99)
print(str1_1)
str2 = '%s' % 'I love weivid'
print(str2) #将字符串或其他变为字符串
str3 = '%d + %d = %d' % (4, 5, 4+5)
print(str3) #传递参数至左边字符串中
str4 = '%o' % 43
print(str4) #打印53,43用八进制表示为53 = 5*8 + 3
str4_1 = '%x' % 10
print(str4_1) # 打印a
str5 = '%f' % 27.658
print(str5)
3. 格式化操作符辅助命令
符号 | 作用 |
---|---|
m.n | m 是显示的最小总宽度,n 是小数点后的位数 |
- | 用于左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示 ‘0o’,在十六进制数前面显示 ‘0x’ 或 ‘0X’ |
0 | 显示的数字前面填充 ‘0’ 取代空格 |
str6 = '%5.1f' % 27.658
print(str6) #整个字符串宽度为5,小数一位
str6_1 = '%.3e' % 27.658
print(str6_1) #科学计数法表示,三位小数
str6_2 = '%10d' % 5
print(str6_2) #总位宽为10
str6_3 = '%-10d' % 5
print(str6_3) #总位宽为10,5在最左边
str6_4 = '%+10d' % 5
print(str6_4) #总位宽为10,显示+5
str7 = '%#o' % 12
print(str7) #打印0o14,表示这个是八进制数14
str7_1 = '%#x' % 108
print(str7_1) #打印0x6c,表示这个是八进制数14
str8 = '%010d' % 5
print(str8)
4. Python 的转义字符及其含义
符号 | 作用 |
---|---|
’ | 单引号 |
" | 双引号 |
\a | 发出系统响铃声,没有用,需要结合系统 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\ | 反斜杠 |