Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
print("{} {}".format("hello", "world")) # 不设置指定位置,按默认顺序
print("{0} {1}".format("hello", "world")) # 设置指定位置
print("{1} {0} {1}".format("hello", "world")) # 设置指定位置
运行结果:
hello world
hello world
world hello world
也可以向 str.format() 传入对象:
感受一下带位置加属性的写法,刚开始看的时候我也很懵逼,看一下下面替代写法就明白了;
class AssignValue(object):
def __init__(self, value):
self.value = value
my_value = AssignValue((6))
my_value1 = AssignValue((7))
print('{0.value}{1.value}'.format(my_value,my_value1)) #该写法想象成下面的写法
#print('{0}{1}'.format(my_value.value,my_value1.value))