慕良 发表于 2020-2-10 18:38:01

python复盘:015字符串:格式化

015字符串:格式化

一、位置参数、关键字参数==>replacement
1、位置参数
>>> "{0} love {1}.{2}".format("I",'FishC','com')
'I love FishC.com'
2、关键字参数
>>> "{a} love {b}.{c}".format(a="I",b='FishC',c='com')
'I love FishC.com'
3、混合:位置>关键字
>>> "{0} love {b}.{c}".format("I",b='FishC',c='com')
'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 码
>>> '%c' % 97
'a'
>>> '%c %c %c' % (97,98,99)
'a b c'

2、%s:格式化字符串
>>> '%s' % 'I love fishc.com'
'I love fishc.com'

3、%d:格式化整数
>>> '%d + %d = %d' % (4,5,4+5)
'4 + 5 = 9'

4、%o:格式化无符号八进制数
>>> '%o'% 10
'12'

5、%x:格式化无符号十六进制数
6、%X:格式化无符号十六进制数(大写)
>>> '%x' % 10
'a'
>>> '%X' % 10
'A'

7、%f:格式化定点数,可指定小数点后的精度
>>> '%f' % 27.658
'27.658000'

8、%e:用科学计数法格式化浮点数
9、%E:作用同 %e,用科学计数法格式化浮点数
>>> '%e' % 27.658
'2.765800e+01'
>>> '%E' % 27.658
'2.765800E+01'

10、%g:根据值的大小决定使用 %f 或 %e
11、%G:作用同 %g,根据值的大小决定使用 %f 或者 %E
>>> '%g' % 27.658
'27.658'
>>> '%G' % 27.658
'27.658'

三、格式化操作符辅助命令               

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

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

2 #-
>>> '%-10d' % 27.658
'27      '

3 #+
>>> '%+10d' % 27.658
'       +27'
>>> '%+d' % -27.658
'-27'

4 ##
>>> '%#o' % 10
'0o12'
>>> '%#x' % 108
'0x6c'
>>> '%#d' % 10
'10'

5 #0
>>> '%010d' % 5
'0000000005'
>>> '%-010d' % 5
'5      

四、转义字符及其含义

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


慕良 发表于 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)

慕良 发表于 2020-2-10 20:34:23

操作题

0.编写一个进制转换程序,程序演示如下(提示,十进制转换二进制可以用bin()这个BIF):
https://xxx.ilovefishc.com/forum/201311/28/222408as27w77f262gkgg7.png
print('==========RESTART==========')
while True:
    number = input('请输入一个整数(输入Q结束程序):')
    if number != 'Q':
      number = int(number)
      sixteen = '%#x' % number
      eight = '%#o' % number
      two = bin(number)
      print('十进制 -> 十六进制:', number,' -> ',sixteen)
      print('十进制 -> 八进制:',number,' -> ',eight)
      print('十进制 -> 二进制:',number,' -> ',two)
    else:
      break

页: [1]
查看完整版本: python复盘:015字符串:格式化