提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
测试题
0. 根据说明填写相应的字符串格式化符号
1. 请问以下这行代码会打印什么内容?
>>> "{{1}}".format("不打印", "打印")
-
>>> "{{1}}".format("不打印", "打印")
-
'{1}'
2. 以下代码中,a, b, c是什么参数?
-
>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
-
'I love FishC.com'
关键字参数
3. 以下代码中,{0}, {1}, {2}是什么参数?
-
>>> "{0} love {1}.{2}".format("I", "FishC", "com")
-
'I love FishC.com'
位置参数
4. 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
''.format('Pi = ', 3.1415)
-
>>> '{0}{1:.2f}'.format('Pi = ', 3.1415)
-
'Pi = 3.14'
动动手
0. 编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):
-
q = True
-
while q:
-
num = input('请输入一个整数(输入Q结束程序):')
-
if num != 'Q':
-
num = int(num)
-
print('十进制 -> 十六进制 : %d -> 0x%x' % (num, num))
-
print('十进制 -> 八进制 : %d -> 0o%o' % (num, num))
-
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
-
else:
-
q = False
1. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
(1)format()函数用法
使用位置参数:
>>> "{0} love {1}. {2}".format("I", "FishC", "com")
'I love FishC. com'
使用关键字参数:
>>> "{a} love {b}. {c}".format(a="I", b="FishC", c="com")
'I love FishC. com'
结合位置参数和关键字参数:
在这种情况下,位置参数必须在关键字参数之前,如:
>>> "{0} love {b}. {c}".format("I", b="FishC", c="com")
'I love FishC. com'
如果位置参数之前出现了关键字参数,就会报错。如:
>>> "{a} love {0}. {c}".format(a="I", "FishC", c="com")
SyntaxError: positional argument follows keyword argument
format()用于保留几位有效数字:
>>> '{0:.1f}'.format(27.678)
'27.7'
等价于
>>> '%.1f' %27.555
'27.6'
(2)字符串格式化符号及其含义
符号 | 说明 |
%c | 格式化字符及其 ASCII 码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同 %e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用 %f 或 %e |
%G | 作用同 %g,根据值的大小决定使用 %f 或者 %E |
(3)格式化操作符辅助命令
符号 | 说明 |
m.n | m 是显示的最小总宽度(如果整个输出的长度长度小于m,默认在左边补空格),n 是小数点后的位数 |
- | 用于左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X' |
0 | 显示的数字前面填充 '0' 取代空格 |
(4)字符串转义字符
符号 | 说明 |
\' | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |