Python 中格式化字符串 % 和 format 两种方法之间的区别

Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析。#定义一个坐标

使用%方法:
a = (255,255) #使用%表示 B = "二团长开炮吧:目标坐标%s" %c #上面的代码很明显会抛出一个如下的TypeError:
#TypeError: not all arguments converted during string formatting
#正确表达
B = "二团长开炮吧:目标坐标%s" %(c, )
print(B)
#打印结果:团长开炮吧:目标坐标(255,255)

使用format方法:

B = "二团长开炮吧:目标坐标{}".format(c)

在Python3.6引入新特性:f-strings

name = "dawei"
age = 22

ret = f"My name is {name},I'm age {age}"

print(ret)
#打印结果:My name is dawei,I'm age 22

format常用方法:

通过索引

data = ["Q1mi", 18]
ret = "Name:{0}, Age:{1}".format(*data)
print(ret)
#打印结果:'Name:Q1mi, Age:18'

通过关键字:

data = {"name": "Q1mi", "age": 18}
ret = "Name:{name}, Age:{age}".format(**data)
print(ret)
#打印结果:'Name:Q1mi, Age:18'

 

posted @ 2019-06-17 21:41  Yan帅  阅读(945)  评论(0编辑  收藏  举报