字符串格式化输出是python非常重要的基础语法。
python2.6版本之前,使用%格式化字符串沿用的是C语言的输出格式。
使用说明:
name='xiaoming'
age=12
print("My name is %s, My age is %d" %(name,age))
'''print
My name is xiaoming, My age is 12
'''
format是python2.6新增的一个格式化字符串的方法,相比%格式化方法有如下优点:
使用说明:
name = 'xiaoyang'
age = 20
print('My name is {}, My age is {}'.format(name,age))
print('My name is {0}, My age is {1}'.format(name,age))
print('My name is {1}, My age is {0}'.format(name,age))
print('My name is {name}, My age is {age}'.format(name=name, age=age))
'''print
My name is xiaoyang, My age is 20
My name is xiaoyang, My age is 20
My name is 20, My age is xiaoyang
My name is xiaoyang, My age is 20
'''
# 先取到值,然后在冒号后设定填充格式:{索引:[填充字符][对齐方式][宽度]}
# *<20:左对齐,总共20个字符,不够的用*号填充
print('{0:*<20}'.format('hellopython'))
# *>20:右对齐,总共20个字符,不够的用*号填充
print('{0:*>20}'.format('hellopython'))
# *^20:居中显示,总共20个字符,不够的用*号填充
print('{0:*^20}'.format('hellopython'))
'''print
hellopython*********
*********hellopython
****hellopython*****
'''
#保留2位有效数字
print("{:.2f}".format(3.1415926))
#转成二进制
print('{0:b}'.format(16))
#转成八进制
print('{0:o}'.format(10))
#转成十六进制
print('{0:x}'.format(15))
'''print
3.14
10000
12
f
'''
在Python 3.6中引入了 f-strings,不仅比str.format使用简单,而且效率也更高。
使用说明:
name='xiaoyang'
age=20
#{}中直接使用变量
print(f'My name is {name}, My age is {age}')
#{}中运行表达式
print(f'{1+2+3}')
#调用Python内置函数
print(f'{name.upper()}')
#用lambda匿名函数:可以做复杂的数值计算
fun = lambda x : x+1
print(f'{fun(age)}')
'''print
My name is xiaoyang, My age is 20
6
XIAOYANG
'''
【1】https://blog.csdn.net/python1639er/article/details/112325519
【2】https://zhuanlan.zhihu.com/p/329972202