python的字符串格式运算符可以应用于类吗?

时间:2019-01-27 19:17:02

标签: python string-formatting

我想知道是否可以将字符串格式运算符'%'应用于python中带有子类的类,如下所示:

"I'm %(foo.name)s!" % class

我知道它可以应用于字典,但据我所知,它似乎无法访问多维字典中的值。

1 个答案:

答案 0 :(得分:2)

您不能做% class,但这应该不会造成麻烦,因为您通常希望打印一个类实例。您可以使用类实例做您想做的事情。鉴于此类:

class Foo():
    def __init__(self, name, id):
        self.name = name
        self.id = id

可以做到

>>> foo = Foo("Bar",1)
>>> f"I'm a {foo.name}"
"I'm a Bar"

或者,如果您尚未使用Python 3.7

>>> "I'm a {.name}".format(foo)
"I'm a Bar"

,如果您真的想使用%运算符

>>> "I'm a %(name)s" % vars(foo)
"I'm a Bar"