(14)占位符%和format
# 在介绍占位符之前,这里先介绍下索引,索引可以方便的帮我们拿到容器内的数据
# 索引可以简单的理解为一个有序的标记,我们把容器里的元素每一个都编上一个编号
# 凡是有序的容器类型数据,都可以通过索引取到取值
python存在正向索引和逆向索引两种方式,后面再详细介绍
listvar = [13,5,346,67,'a']
# 正向索引 0 1 2 3 4
# 逆向索引 -5 -4 -3 -2 -1
print(listvar[0])
print(listvar[-5])
print(listvar[-1])
print(listvar[1:3]) # 切片操作
执行结果:
13
13
a
[5, 346]
# <一>百分比占位符%
# (1)%s 字符串占位符 print('%s是一只小小鸟' % ('你')) 执行结果: 你是一只小小鸟 # (2)%d 整数占位符 print('9*9=%d'%(81)) print('9*9=%4d'%(81)) # 占4个字符位,默认向右 print('9*9=%-4d'%(81)) # 占4个字符位,向左并齐 执行结果: 9*9=81 9*9= 81 9*9=81 # (3)%f 浮点型占位符 print('10/3=%f'%(10/3)) print('10/3=%.2f'%(10/3)) # 保留两位小数 print('10/3=%.4f'%(10/3)) # 保留4位小数 执行结果: 10/3=3.333333 10/3=3.33 10/3=3.3333
(二)format函数
(1)通过位置
print( '{0},{1}'.format('chuhao',20))
# chuhao,20
print('{},{}'.format('chuhao',20))
# chuhao,20
print('{1},{0},{1}'.format('chuhao',20))
# 20,chuhao,20
(2)通过关键字参数
print('{name},{age}'.format(age=18,name='chuhao'))
# chuhao,18
(3)通过映射 list
listvar = ['chuhao',20]
lis = ['China','France']
print('my name is {0[0]},from {1[1]},age is {0[1]}'.format(listvar,lis))
# my name is chuhao,from France,age is 20
(4)通过映射 dict
dictvar = {'name':'chuhao','age':20,'province':'shanxi'}
print('my name is {name}, age is {age},from {province}'.format(**dictvar))
# my name is chuhao, age is 20,from shanxi
(5)填充与对齐
print('{:>8}'.format('189'))
# 189 占8个字符位,向右对齐
print('{:0>8}'.format('189'))
# 00000189 占8个字符位,向右对齐,用0填充
print('{:a>8}'.format('189'))
# aaaaa189 占8个字符位,向右对齐,用a填充
(6)精度与类型f
print('{:.2f}'.format(321.33345))
# 321.33 保留两位小数
(7)用来做金额的千位分隔符
print('{:,}'.format(1234567890000))
# 1,234,567,890,000
(8)其他类型 主要就是进制,b、d、o、x分别是二进制、十进制、八进制、十六进制。
print('{:b}'.format(18))
# 二进制 10010
print('{:d}'.format(18))
# 十进制 18
print('{:o}'.format(18))
# 八进制 22
print('{:x}'.format(18))
# 十六进制12