零基础入门学习Python 015字符串:格式化

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xyyojl/article/details/81210984

知识点总结

  • format()

    • format()方法接受位置参数和关键字参数(),二者均传递一个叫做replacement字段
    • 位置参数:"{0} love {1}.{2}".format("I","FishC","com")
    • 关键字参数:"{a} love {b}.{c}".format(a="I",b="FishC",c="com")
    • 综合位置参数和关键字参数(位置参数一定在关键字之前):"{0} love {b}.{c}".format("I",b="FishC",c="com")
    • 错误写法:"{a} love {b}.{0}".format(a="I",b="FishC","com")
    • 把大括号打印出来的方法:"{{0}}".format("不打印")
    • 又一例子:"{0}:{1:.2f}".format("圆周率",3.14159),冒号表示格式化符号的开始,”.2”的意思是四舍五入到保留两位小数点,而f的意思是定点数
  • 格式化操作符:%

    • 例子1:"%c"%97
    • 例子2:"%c %c %c"%(97,98,99)
    • 例子3:"%d转换为八进制是:%o"%(123,123)

Python格式化符号及含义

符号 含义
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%e

- 格式化操作符的辅助指令
- 例子1:"5.1f"%27.658
- 例子2:"%10d"%5
- 例子3:"%#X"%100

符号 含义
m.n m是显示的最小总宽度,n是小数点后的位数
- 结果左对齐
+ 在正数前面显示加号(+)
# 在八进制前面显示’0o’,在十六进制数前面显示’0x64’或’0X64’
0 显示的数字掐面填充的’0’代替空格

- python的转义字符及含义

符号 说明
\' 单引号
\" 双引号
\a 发出系统响铃声
\b 退格符
\n 换行符
\t 横向制表符(Tab)
\v 纵向制表符
\r 回车符
\f 换页符
\o 八进制代表的字符
\x 十六进制代表的字符
\0 表示一个空字符
\\ 反斜杠

课后习题

测试题

题1: 根据说明填写相应的字符串格式化符号

符号 说明
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g 根据值的大小决定使用%f或%e
%G 作用同%g,根据值的大小决定使用%f或%e

题2: 请问以下这行代码会打印什么内容?

>>> "{{1}}".format("不打印", "打印")
'{1}'

题3: 以下代码中,a, b, c是什么参数?

>>> "{a} love {b}.{c}".format(a="I", b="FishC", c="com")
'I love FishC.com'

题4: 以下代码中,{0}, {1}, {2}是什么参数?

>>> "{0} love {1}.{2}".format("I", "FishC", "com")
'I love FishC.com'

题5: 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?

>>> '{0}{1:.2f}'.format('Pi = ', 3.1415)
'Pi = 3.14'

动动手

题1: 编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用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

猜你喜欢

转载自blog.csdn.net/xyyojl/article/details/81210984