lol*_*olo 9 python string-formatting string-interpolation
我%(asctime)s在日志模块中看到这样
%()s代替是%s什么意思?
我只知道%s意思是“字符串”,我%()s在互联网上找不到其他信息。
这是使用%Python 字符串格式化的形式将值插入字符串时的字符串格式化功能。您正在查看的案例允许通过提供字典并在格式字符串中指定该字典的键来从字典中获取命名值。下面是一个例子:
values = {'city': 'San Francisco', 'state': 'California'}
s = "I live in %(city)s, %(state)s" % values
print(s)
Run Code Online (Sandbox Code Playgroud)
结果:
values = {'city': 'San Francisco', 'state': 'California'}
s = "I live in %(city)s, %(state)s" % values
print(s)
Run Code Online (Sandbox Code Playgroud)
%(asctime)s是日志模块用来获取对象'asctime' 属性的LogRecord占位符。
该符号'%(key)s'用于标识映射中的键并将其值插入格式字符串中。例如,考虑一个名叫 john 的人,他身高 168 厘米,体重 72 公斤。
person = {'name': 'john', 'height': 168, 'weight': 72}
Run Code Online (Sandbox Code Playgroud)
如果要打印它们的名称和权重,则不需要指定插入的每个实例,也不需要考虑权重是 int 的事实。您需要做的就是指定您想要的键(在说明%()s符内)并在%.
>>> print('%(name)s, %(weight)s' % person)
john, 72
Run Code Online (Sandbox Code Playgroud)
这种字符串格式化方法类似于str.format():
>>> print('{name}, {weight}'.format(**person))
john, 72
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2015 次 |
| 最近记录: |