我有一个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)
然而,语法是不正确的。这是可能的吗?
print '我的对象有字符串 a={obj.a}, b={obj.b}, c={obj.c}'.format(obj=obj)
- Roman L'{a} {b}'.format(**vars(obj))
或'{a} {b}'.format(**obj.__dict__)
。 - igniteflow<bound method Class.method of <__main__.Class object at 0x0000000002CC27B8>>'
。 - user2555451