小甲鱼Python3学习笔记之第十五讲(仅记录学习)

第十五讲:字符串,格式化

一、知识点:

0.str.format()有两种参数位置参数和关键字参数:

A、对应序号替换:

>>> 'hello,{0},{1},{2}'.format('A','B','C')
'hello,A,B,C'
>>> 'hello,{0},{2},{1}'.format('A','B','C')
'hello,A,C,B'
>>> 'hello,{0},{1},{2},{3[0]},{3[1]}'.format('A','B','C',['D','!'])
'hello,A,B,C,D,!'

B、变量替换:

>>> 'hello,{x},{y},{z}'.format(x='A',y='B',z='C')
'hello,A,B,C'

C、默认按顺序替换:

>>> 'hello,{},{},{}'.format('A','B','C')
'hello,A,B,C'

注意:序号和变量混用的话,序号一定要在变量前面,否则会报错。

1.指定格式:

A、指定精度,结合f使用:

>>> '{:.2f}'.format(3.1415926)
'3.14'
>>> '{:.4f}'.format(3.1415926)
'3.1416'

B、指定进制,b、d、o、x分别表示二进制、十进制、八进制、十六进制:

>>> '{:d}'.format(11)
'11'
>>> '{:b}'.format(11)
'1011'
>>> '{:x}'.format(11)
'b'
>>> '{:o}'.format(11)
'13'

C、指定对齐方式:

^、<、>分别是居中、左对齐、右对齐,后面带宽度,默认用0 填充,可指定填充方式

>>> '{:^10}'.format('abc')
'   abc    '
>>> '{:<10}'.format('abc')
'abc       '
>>> '{:>10}'.format('abc')
'       abc'
>>> '{:8>10}'.format('abc')
'8888888abc'

2.python字符串格式化符号:

 符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %F和%E的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
-------------------------------------------------------------------------------------------------------------------------
二、课后作业:

0.根据说明填写相应的字符串格式化符号

%c 格式化字符及其ASCII码 
%s 格式化字符串 
%d 格式化整数 
%o 格式化无符号八进制数 
%x 格式化无符号十六进制数 
%X 格式化无符号十六进制数(大写) 
%e 格式化定点数,可指定小数点后的精度 
%E 用科学计数法格式化定点数 
%g 根据值的大小决定使用%f或者%e 
%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')

位置参数

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

''.format('Pi = ', 3.1415)

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

-------------------------------------------------------------------------------------------------------------------------

三、动动手:

0.编写一个进制转换程序

while 1:
    num = int(input('请输入一个整数:'))
    print('十进制->十六进制:%d->%x'%(num,num))
    print('十进制->八进制:%d->%o'%(num,num))
    print('十进制->二进制:%d->'%num,bin(num))

-------------------------------------------------------------------------------------------------------------------------

猜你喜欢

转载自blog.csdn.net/huashu2017/article/details/80692114