gpt4 book ai didi

python - 使用 str.format() 访问对象属性

转载 作者:IT老高 更新时间:2023-10-28 21:46:56 25 4
gpt4 key购买 nike

我有一个 Python 对象,其属性为 abc

我仍然使用旧的字符串格式,所以我通常会手动打印这些:

 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)

但是,语法不正确。这可能吗?

最佳答案

您可以在格式字段本身内使用 .attribute_name 表示法:

print 'My object has strings a={0.a}, b={0.b}, c={0.c}'.format(obj)

下面是一个演示:

>>> class Test(object):
... def __init__(self, a, b, c):
... self.a = a
... self.b = b
... self.c = c
...
>>> obj = Test(1, 2, 3)
>>> 'My object has strings a={0.a}, b={0.b}, c={0.c}'.format(obj)
'My object has strings a=1, b=2, c=3'
>>>

但请注意,您在执行此操作时确实需要对格式字段进行编号。此外,如您所见,str.format 函数的格式字段由花括号 {...} 表示,而不是 %签名。

有关更多信息,请参阅 Format String Syntax在 Python 中。

关于python - 使用 str.format() 访问对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26791908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com