一、%格式化字符串
1、字符串格式代码
2、常用转义字符
3、实例
# %s表示字符串,%d表示整数类型,%f表示浮点类型的数字 info='我叫%s,你叫%s,他叫%s,今年是%d年'%('刘德华','张学友','郭富城',2020) print(info) #我叫刘德华,你叫张学友,他叫郭富城,今年是2020年 #补位数,当位数不足时,可以通过规定数字的长度进行补空格操作;比如设置数字为n,当输入的位数只有m位(m<n)时,则补n-m位空格;如果m>n,则正常显示所有字符 #对于数字而言,还可以根据需要在左侧补0 info='我叫%5s,你叫%5s,他叫%05s,今年是%05d年'%('刘德华特洛夫斯基','张学友','郭富城',20) print(info) #我叫刘德华特洛夫斯基,你叫 张学友,他叫 郭富城,今年是00020年 # 上述方法默认所有的字符都是右对齐,如果需要左对齐,那么加上一个负号. info='我叫%-5s,你叫%-5s,他叫%-5s,今年是%-05d年'%('刘德华','张学友','郭富城',20) print(info) #我叫刘德华 ,你叫张学友 ,他叫郭富城 ,今年是20 年(!!!无法进行补0操作)
小数保留位数:
>>> print('%f' % 1.11) # 默认保留6位小数 1.110000 >>> print('%.1f' % 1.11) # 取1位小数 1.1 >>> print('%e' % 1.11) # 默认6位小数,用科学计数法 1.110000e+00 >>> print('%.3e' % 1.11) # 取3位小数,用科学计数法 1.110e+00 >>> print('%g' % 1111.1111) # 默认6位有效数字 1111.11 >>> print('%.7g' % 1111.1111) # 取7位有效数字 1111.111 >>> print('%.2g' % 1111.1111) # 取2位有效数字,自动转换为科学计数法 1.1e+03
二、str.format()格式化字符串
常规用法
name1='world' name2='test' print("hello,{},{}".format(name1,name2))# hello,world,test
通过位置访问:
print("hello,{2}, {1}, {0}".format('a', 'b', 'c')) #hello,c, b, a
通过关键字访问:
print('Hello {name1},{name2},{name3}'.format(name1='testerzhang',name3="testerli",name2="testerwu") ) #Hello testerzhang,testerwu,testerli dict={"name1":"testerzhang","name3":"testerli","name2":"testerwu"} print("Hello {name1},{name2},{name3}".format(**dict)) #Hello testerzhang,testerwu,testerli
三、f-string格式化字符串
Python3.6 版本开始出现了此新的格式化字符串,性能又优于前面两种方式
name1="world" name2="test" print(f"hello,{name1},{name2}") #hello,world,test print(f"hello,{name1.upper()},{name2.upper()}") #hello,WORLD,TEST