python占位符

占位符%

输出整数

'''
%d —— dec 十进制
%o —— oct 八进制
%x —— hex 十六进制
'''
print('%d %o %x'%(15,15,15))  #15 17 f

输出浮点数

import math
'''
%.3f,保留3位小数位
%.3e,保留3位小数位,使用科学计数法
'''
#默认保留6位小数位
print('%f %e'%(math.pi,math.pi))         #3.141593 3.141593e+00
print('%.3f %.3e'%(math.pi,math.pi))     #3.142 3.142e+00

输出字符串

'''
%s
%5s——右对齐,占位符5位
%-5s——左对齐,占位符5位
%.2s——截取2位字符串
%5.2s——5位占位符,截取两位字符串
'''
s = '加油'
s1 = '加油!'

print('%s'%(s)) 			#加油

print('%5s %-5s'%(s,s1))
print('%5s %-5s'%(s1,s))
'''
   加油 加油!  
  加油! 加油   
'''

print('%.1s'%(s1))
print('%2.1s'%(s1))
'''
加
 加
'''

占位符{}

输出数字

'''
'b' - 二进制。将数字以2为基数进行输出。
'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
'd' - 十进制整数。将数字以10为基数进行输出。
'o' - 八进制。将数字以8为基数进行输出。
'x' - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
'e' - 幂符号。用科学计数法打印数字。用'e'表示幂。
'g' - 一般格式。将数值以fixed-point格式输出。当数值特别大的时候,用幂形式打印。
'n' - 数字。当值为整数时和'd'相同,值为浮点数时和'g'相同。不同的是它会根据区域设置插入数字分隔符。
'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号。
'''


print('{0:b},{0:%}'.format(2))        #10,200.000000%
print('{:b},{:.1%}'.format(2,2))      #10,200.0%
#<:左对齐(默认右对齐)
print('{:<4.1f}'.format(2))           #2.0

位置输出

print('{} {}'.format('a',1))   #a 1
print('{0} {1} {0}'.format('a',1))  #a 1 a
print('{x} {y}'.format(x='a',y=1))  #a 1

数据结构输出

#tuple
a = (0, 1)
print('{0[0]},{0[1]}'.format(a))  #0,1

#dict
a = {'x': 0, 'y': 1}
print('{0[x]},{0[y]}'.format(a))  #0,1

#class
class a():
    def __init__(self):
        self.x = 0
        self.y = 1
b = a()
print('{0.x},{0.y}'.format(b))    #0,1

不用format

a = 0
b = 1
print(f"{a},{b}")  #0,1
#右对齐(不加>或<时默认右对齐)
print(f"{a:*^9},{b:>5.2f}")  #****0****, 1.00
#左对齐
print(f"{a:*^9},{b:<5.2f}")  #****0****,1.00 

你可能感兴趣的:(其他)