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

知识点总结

  • 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.nm是显示的最小总宽度,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
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值