python - python的字符串格式运算符可以应用于类吗?
问题描述
我想知道字符串格式化运算符 ' %
' 是否可以应用于 python 中具有子类的类,如下所示:
"I'm %(foo.name)s!" % 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"
推荐阅读
- arduino - 有没有办法为一个输出找到所有可能的输入?
- kotlin - 如何修复错误“java.lang.IllegalStateException:RecyclerView 不能为空”
- django - 在 Django 中命名基于类的视图有错误的方法吗?
- c# - SQL 中的多个 IN 子句
- javascript - 我的车把模板在渲染时自动终止
- javascript - 滚动页面滚动点击非常高的页面 - 无法正常工作
- python - Tensorflow 客户化培训 - ValueError:变量密集/内核/亚当/不存在?
- visual-studio-code - 使用 rust (rls) 扩展在 VS Code 中构建 rust 的最佳实践是什么?
- django - 如何发送请求?
- javascript - 随机时刻和顺序中的 AJAX 请求和 MongoDB 写入 Epipe 问题