声明三个变量:姓名(string)、年龄(int)、身高(float),见下方的一个简单实例。
>>> name = '小明'
>>> age = 20
>>> height = 1.85
>>> print("我是"+name+",年龄"+str(age))
我是小明,年龄20
>>> print("我是%s,年龄%d,体重%fm"%(name,age,height))
我是小明,年龄20,体重1.850000m
其中%s、%d便是占位符,顾名思义,其作用就是替后面的变量站住这个位置,
字符串后面的%是一个特殊的操作符,该操作符会将后面的变量值,替换掉前面字符串中的占位符.
常用占位符:
# 数值型
>>> pi = 3.1415926
>>> print('%10.3f' % pi)
3.142
# 宽度为10,右对齐,保留3位小数点
>>> print('%-10.10f' % pi)
3.1415926000
# 宽度为10,左对齐,保留小数点后10位(不足10位补0)
# 字符串
>>> print( "%.10s " % name)
小明
# 输出10个字符,如果不足,输出全部
>>> print ("%.*s" % (6,name))
小明
# 左对齐,取6个字符
>>> print ("%10.6s" % name)
小明
# 右对齐,宽度为10,取6个字符
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能,见下方简单示例。
>>> name = '小明'
>>> age = 20
>>> height = 1.85
>>> print("我是{},年龄{},体重{}".format(name,age,height))
我是小明,年龄20,体重1.85
也可以通过指定位置编号操作,顺序从0开始,通过运行下方示例可以发现位置指定的作用。
>>> name = '小明'
>>> age = 20
>>> height = 1.85
>>> print("我是{0},年龄{1},体重{2}".format(name,age,height))
我是小明,年龄20,体重1.85
>>> print("我是{1},年龄{2},体重{0}".format(name,age,height))
我是20,年龄1.85,体重小明
精度也是通过.来实现
>>> pi = 3.1415926
>>> print('{:>10.3f}'.format(pi))
3.142
>>> # 宽度为10,右对齐,保留3位小数点
>>> print('{:<10.1f}'.format(pi))
3.1
>>> # 宽度为10,左对齐,保留1位小数点
f-string格式化是python3.6引入了一种新的字符串格式化方式。
变量名直接做参数,比如name, age, height,注意不需要单引号或双引号,见下方示例。
>>> name = '小明'
>>> age = 20
>>> height = 1.85
>>> print(f'我是:{name}, 年龄:{age}, 身高:{height}m')
我是:小明, 年龄:20, 身高:1.85m
可以是直接的数值运算,也可以是变量赋值后运算。
>>> print(f'计算结果是:{2*5 + 3*4}')
计算结果是:22
>>> a = 90
>>> b = 9
>>> print(f'计算结果是:{a*b + a + b}')
计算结果是:909
宽度为10,精度为小数点后2、3、4位,居中、居右、居左对齐,填充方式和format一样可以选择不同的字符。
>>> pi = 3.1415926
>>> print(f'{pi:^10.2f}')
3.14
>>> print(f'{pi:>10.3f}')
3.142
>>> print(f'{pi:<10.4f}')
3.1416
%(占位符):
format:
f-string: