python3.x 使用format方式格式化字符串,元组,字典的一些方法(列表请自行撸)

代码参考资料

字符串的格式化

#python格式化字符串的几种写法
'''
基本写法
(1)不带编号,即“{}”
(2)带数字编号,可调换顺序,即“{1}”、“{2}”
(3)带关键字,即“{a}”、“{tom}”
'''

print('{} {}'.format('hello','world'))   #hello world
print('{0}-{1}'.format('hello','xiaomawang'))  #hello-xiaomawang
print('{1}->{0}'.format('hello','xiaomawang'))  #xiaomawang->hello
print('{0}->{1}->{0}'.format('hello','xiaomawang'))  #xiaomawang->hello
print('{id1}-{id2}-{id3}'.format(id1 = 'hello',id2 = 'xiaomawang',id3 = 'welcome'))

'''
进阶写法
(1)< (默认)左对齐、> 右对齐、^ 中间对齐、= (只用于数字)在小数点后进行补齐

(2)取位数“{:4s}”、"{:.2f}"等
'''
print('{}{}'.format('你好','世界'))                 #你好世界
print('{:10s}{:10s}'.format('你好','世界'))         #你好        世界
print('{:^10s}{:^10s}'.format('你好','世界'))       #    你好        世界
print('{:>10s}{:>10s}'.format('你好','世界'))       #        你好        世界

a = 1.23456
b = 2.34567
c = '1.23456'
d = '2.34567'
print('a = {},b = {}'.format('a','b')) #a = a,b = b
print('a = {},b = {}'.format(a,b))    #a = 1.23456,b = 2.34567
print('{:.2f},{:.2f}'.format(1.2345,2.3456))               #1.23,2.35
#print('{a的数值是:.2f}'.format(a))   #报错
print('a的数值是{:.2f}'.format(a))                          #a的数值是1.23
print('a的数值是{:>10.2f}'.format(a))                       #a的数值是      1.23
print('a的数值是{:^20.3f}'.format(a))                       #a的数值是       1.235
#冒号前面的0代表格式化后面的第一个待格式化的数据

print('{0}取两位小数十位右对齐格式化后为{0:>10.2f}'.format(3.1415926))
#3.1415926取两位小数十位右对齐格式化后为      3.14

print('{0}取两位小数十位右对齐格式化后为{0:>10.2f}'.format(b))
#2.34567取两位小数十位右对齐格式化后为      2.35

print('{0} is {0:>10.2f}'.format(1.123))
# 取2位小数,右对齐,取10位

print('a:{0}的值保留两位小数后,10位右对齐后为{0:>10.2f};\nb:{1}的值保留三位小数,10位中间对齐后为{1:^10.3f}'.format(a,b))
'''
a:1.23456的值保留两位小数后,10位右对齐后为      1.23;
b:2.34567的值保留三位小数,10位中间对齐后为  2.346 
'''


num0 = 11
num1 = 20
num2 = 30
num3 = '20'
num4 = 12
listnum = [8,9,10,11,12,13,14]

#'b' - 二进制。将数字以2为基数进行输出。
print('以b形式输出的num1为:{0:b},num2为{1:b}'.format(num1,num2))
#以b形式输出的num1为:10100,num2为11110

#'c' - 字符。在打印之前将整数转换成对应的Unicode字符串。
print('以C的形式输出的数字num1位:{0:c},num2为:{1:c}'.format(num1,num2))
#以C的形式输出的数字num1位:,num2为:

#'d' - 十进制整数。将数字以10为基数进行输出。(**)
print('以C的形式输出的数字num1位:{0:d},num2为:{1:d}'.format(num1,num2))
#以C的形式输出的数字num1位:20,num2为:30

#'o' - 八进制。将数字以8为基数进行输出。
print('24以八进制输出结果为:{:o}'.format(583))
#583以八进制输出结果为:1107

#'x' - 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母
print('259以16进制输出为:{:x}'.format(259))
#259以16进制输出为:103

#'%' - 百分数。将数值乘以100然后以fixed-point('f')格式打印,值后面会有一个百分号。
print('0.0633用百分号表示为{:.2%}'.format(0.0633))
#0.0633用百分号表示为6.33%    这里的.2表示保留两位有效数字


'''
3、多个格式化

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

print('数字以8进制输出为:{0:o}'.format(num0))
#数字以8进制输出为:13

#后面请自己尝试

'''
其它格式化方式
'''
print('{2},{1},{0}'.format(*'abc'))
#c,b,a

print('{1},{0},{2}'.format(*'hello'))

#元组的输出
yuanzu = ('12345','上山打老虎','老虎没打到','打到小松鼠')
print('元组是{:}'.format(yuanzu))
#元组的第一个元素是('12345', '上山打老虎', '老虎没打到', '打到小松鼠')

print('元组的第一个元素是:{0[0]:}'.format(yuanzu))
#元组的第一个元素是:12345



yuanzu1 = '12345','上山打老虎','老虎没打到','打到小松鼠'
print('元组是{:}'.format(yuanzu))
#元组的第一个元素是('12345', '上山打老虎', '老虎没打到', '打到小松鼠')
print('元组的第二个元素是:{0[1]:}'.format(yuanzu))
#元组的第二个元素是:上山打老虎


#字典的格式化访问
zidian = { a:"你好", b:"世界"}
print("字典为:{:}".format(zidian))
print("字典的第一个元素为:{:}".format(zidian[a]))
#字典的第一个元素为:你好

你可能感兴趣的:(python)