python 的字符串格式运算符可以应用于 class 吗?
Can python's string format operator be applied to a class?
我想知道字符串格式运算符 '%
' 是否可以应用于 class 和 python 中的子 classes,如下所示:
"I'm %(foo.name)s!" % class
我知道它可以应用于字典,但据我所知,它似乎无法访问多维字典中的值。
您不能执行 % class
但这应该不会很麻烦,因为您通常会想要打印一个 class 实例。你可以用 class 实例做你想做的事。鉴于此 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"
我想知道字符串格式运算符 '%
' 是否可以应用于 class 和 python 中的子 classes,如下所示:
"I'm %(foo.name)s!" % class
我知道它可以应用于字典,但据我所知,它似乎无法访问多维字典中的值。
您不能执行 % class
但这应该不会很麻烦,因为您通常会想要打印一个 class 实例。你可以用 class 实例做你想做的事。鉴于此 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"