我有一个 Python 对象,其属性为 a
, b
, c
。
我仍然使用旧的字符串格式,所以我通常会手动打印这些:
print 'My object has strings a=%s, b=%s, c=%s' % (obj.a, obj.b, obj.c)
最近,我的字符串变得超长,我更愿意能够简单地将对象传递给字符串格式函数,例如:
print 'My object has strings a=%a, b=%b, c=%c'.format(obj)
但是,语法不正确。这可能吗?
原文由 Adam Hughes 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以在格式字段本身内使用
.attribute_name
表示法:下面是一个演示:
但是请注意,执行此操作时确实需要对格式字段进行编号。另外,如您所见,
str.format
函数的格式字段由大括号{...}
表示,而不是%
有关更多信息,请参阅 Python 格式字符串语法 参考。