Python知识点-字符串格式化几种方式

1.普通%格式化字符串

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

用的最多的就是 %s %d %f,还有就是进制 %o %x %X

%d

age = 29
print("my age is %d" %age)
#my age is 29

%s

name = "happy"
print("my name is %s" %name)
#my name is happy

%f

print("%6.3f" % 2.3)
#2.300
print("%f" %2.3)
#2.300000

%x %o

a=100
print('数字100的8进制为:%o'%a)
print('数字100的16进制为:%x'%a)

数字100的8进制为:144
数字100的16进制为:64

2. {}.format()格式字符串

#列表参数,{}里的事索引注意索引从0开始
data=['happy',28,]
print('这是另外一种字符串格式方式,我是 {0} 今年 {1}'.format('happy',28,))
print('这是另外一种字符串格式方式,我是 {0} 今年 {1}'.format(*data))

#字典形式参数,{}里面的是key
data = {'name':'happy','age':28,'hobby':'eat'}
print('我的名字是{name}年龄{age}爱好{hobby}'.format( name = 'happy',age=28,hobby='eat'))
print('我的名字是{name}年龄{age}爱好{hobby}'.format(**data))

#填充与格式化,
print('{0:*>10}'.format(('abc')))#按照右边对齐,宽度为10填充*
print('{0:#<20}'.format(('abc')))#按照左边边对齐,宽度为20填充#
print('{0:@^30}'.format(('abc')))#按照右中间齐,宽度为30填充@
结果:

*******abc
abc#################
@@@@@@@@@@@@@abc@@@@@@@@@@@@@@

#精度计算
print('后面小数点个数{0:.3f}'.format(10)) #浮点数
print('二进制{0:b}'.format(10))  #换算成二进制
print('8进制{0:o}'.format(10))  #换算成八进制
print('16进制{0:x}'.format(10))  #换算成小写的16进制
print('16进制{0:X}'.format(10))   #换成大写16进制

# 结果
后面小数点个数10.000
二进制1010
8进制12
16进制a
16进制A

 

posted @ 2018-12-18 14:49  gaoxing1  阅读(392)  评论(0编辑  收藏  举报