格式化字符串就是按照统一的规格去输出一个字符串,如果规格不统一,就很可能造成误会
attention:综合位置参数和关键字参数时,位置参数一定要在关键字参数之前,否则会报错
>>> '{0:.1f}{1}'.format(27.658,'GB')
符号 | 含义 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同 %e,用科学计数法格式化浮点数 |
%g | 根据值的大小决定使用 %f 或 %e |
%G | 作用同 %g,根据值的大小决定使用 %f 或者 %E |
符号 | 含义 |
---|---|
m.n | m显示的是最小总宽度,n是小数点后的位数 |
- | 结果左对齐 |
+ | 在正数前面显示加号 |
# | 在八进制数前面显示 ‘0o’,在十六进制数前面显示 ‘0x’ 或 ‘0X’ |
0 | 显示的数字前面填充‘0’代替空格 |
符号 | 说明 |
---|---|
\’ | 单引号 |
\" | 双引号 |
\a | 发出系统响铃声 |
\b | 退格符 |
\n | 换行符 |
\t | 横向制表符(TAB) |
\v | 纵向制表符 |
\r | 回车符 |
\f | 换页符 |
\o | 八进制数代表的字符 |
\x | 十六进制数代表的字符 |
\0 | 表示一个空字符 |
\\ | 反斜杠 |
0. 请问以下这行代码会打印什么内容?
>>> "{{1}}".format("不打印", "打印")
{1},因为{1}已经被解释掉了
1.以下代码中,a, b, c是什么参数?
>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'
关键字参数
2.以下代码中,{0}, {1}, {2}是什么参数?
>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'
位置参数
3.如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
''.format('Pi = ', 3.1415)
'{0}{1:.2f}'.format('Pi = ', 3.1415)
4.编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):
直接打印,里面的num会被当成字符串
print("十进制 -> 十六进制 :num -> '%X' % num")
分开打印字符串和数字,用end=“”连接,这样的print有点多,还有一个可以改进的是在十六进制和八进制前面应该加“0x”“0o”
while 1:
num = input("请输入一个整数(输入Q结束程序):")
if num != 'Q':
num = int(num)
print("十进制 -> 十六进制 :",end = "")
print( num, end = '')
print('->',end = '')
print('%X' % num)
print("十进制 -> 八进制 :",end = "")
print( num, end = '')
print('->',end = '')
print('%o' % num)
print("十进制 -> 二进制 :",end = "")
print( num, end = '')
print('->',end = '')
print(bin(num))
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
用#代替0o,0x
q = True
while q:
num = input('请输入一个整数(输入Q结束程序):')
if num != 'Q':
num = int(num)
print('十进制 -> 十六进制 : %d -> %#x' % (num, num))
print('十进制 -> 八进制 : %d -> %#o' % (num, num))
print('十进制 -> 二进制 : %d -> ' % num, bin(num))
else:
q = False