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'