python的字符串格式操作符可以应用于类吗?

2024-04-26 06:41:05 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: 字符串name字典foo格式运算符子类class
1条回答
网友
1楼 · 发布于 2024-04-26 06:41:05

您不能执行% 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"

或者,如果您还没有使用Python3.7

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

如果你真的想使用%操作符

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

相关问题 更多 >