鱼C论坛

 找回密码
 立即注册
查看: 2832|回复: 2

[学习笔记] python复盘:015字符串:格式化

[复制链接]
发表于 2020-2-10 18:38:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
015字符串:格式化

一、位置参数、关键字参数==>replacement
1、位置参数
  1. >>> "{0} love {1}.{2}".format("I",'FishC','com')
  2. 'I love FishC.com'
复制代码

2、关键字参数
  1. >>> "{a} love {b}.{c}".format(a="I",b='FishC',c='com')
  2. 'I love FishC.com'
复制代码

3、混合:位置>关键字
  1. >>> "{0} love {b}.{c}".format("I",b='FishC',c='com')
  2. 'I love FishC.com'
复制代码


二、字符串格式化符号含义
符号 说明
1 %c 格式化字符及其 ASCII 码
2 %s 格式化字符串
3 %d 格式化整数
4 %o 格式化无符号八进制数
5 %x 格式化无符号十六进制数
6 %X 格式化无符号十六进制数(大写)
7 %f 格式化定点数,可指定小数点后的精度
8 %e 用科学计数法格式化浮点数
9 %E 作用同 %e,用科学计数法格式化浮点数
10 %g 根据值的大小决定使用 %f 或 %e
11 %G 作用同 %g,根据值的大小决定使用 %f 或者 %E

                               
1、%c:格式化字符及其 ASCII 码
  1. >>> '%c' % 97
  2. 'a'
  3. >>> '%c %c %c' % (97,98,99)
  4. 'a b c'
复制代码


2、%s:格式化字符串
  1. >>> '%s' % 'I love fishc.com'
  2. 'I love fishc.com'
复制代码


3、%d:格式化整数
  1. >>> '%d + %d = %d' % (4,5,4+5)
  2. '4 + 5 = 9'
复制代码


4、%o:格式化无符号八进制数
  1. >>> '%o'% 10
  2. '12'
复制代码


5、%x:格式化无符号十六进制数
6、%X:格式化无符号十六进制数(大写)
  1. >>> '%x' % 10
  2. 'a'
  3. >>> '%X' % 10
  4. 'A'
复制代码


7、%f:格式化定点数,可指定小数点后的精度
  1. >>> '%f' % 27.658
  2. '27.658000'
复制代码


8、%e:用科学计数法格式化浮点数
9、%E:作用同 %e,用科学计数法格式化浮点数
  1. >>> '%e' % 27.658
  2. '2.765800e+01'
  3. >>> '%E' % 27.658
  4. '2.765800E+01'
复制代码


10、%g:根据值的大小决定使用 %f 或 %e
11、%G:作用同 %g,根据值的大小决定使用 %f 或者 %E
  1. >>> '%g' % 27.658
  2. '27.658'
  3. >>> '%G' % 27.658
  4. '27.658'
复制代码


三、格式化操作符辅助命令               
符号 说明
1 m.n m 是显示的最小总宽度,n 是小数点后的位数
2 - 用于左对齐
3 + 在正数前面显示加号(+)
4 # 在八进制数前面显示 '0o',在十六进制数前面显示 '0x' 或 '0X'
5 0 显示的数字前面填充 '0' 取代空格

  1. 1 #m.n
  2. >>> '%5.1f' % 27.658
  3. ' 27.7'
  4. >>> '%.2e' % 27.658
  5. '2.77e+01'
  6. >>> '%10d' % 27.658
  7. '        27'

  8. 2 #-
  9. >>> '%-10d' % 27.658
  10. '27        '

  11. 3 #+
  12. >>> '%+10d' % 27.658
  13. '       +27'
  14. >>> '%+d' % -27.658
  15. '-27'

  16. 4 ##
  17. >>> '%#o' % 10
  18. '0o12'
  19. >>> '%#x' % 108
  20. '0x6c'
  21. >>> '%#d' % 10
  22. '10'

  23. 5 #0
  24. >>> '%010d' % 5
  25. '0000000005'
  26. >>> '%-010d' % 5
  27. '5      
复制代码


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


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-2-10 19:56:51 | 显示全部楼层
本帖最后由 慕良 于 2020-2-10 19:59 编辑

思考题

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


1. 请问以下这行代码会打印什么内容?
>>> "{{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)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-10 20:34:23 | 显示全部楼层
操作题

0.编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):

                               
登录/注册后可看大图

  1. print('==========RESTART==========')
  2. while True:
  3.     number = input('请输入一个整数(输入Q结束程序):')
  4.     if number != 'Q':
  5.         number = int(number)
  6.         sixteen = '%#x' % number
  7.         eight = '%#o' % number
  8.         two = bin(number)
  9.         print('十进制 -> 十六进制:', number,' -> ',sixteen)
  10.         print('十进制 -> 八进制:',number,' -> ',eight)
  11.         print('十进制 -> 二进制:',number,' -> ',two)
  12.     else:
  13.         break

复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-4 07:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表