【发布时间】:2019-09-14 05:54:12
【问题描述】:
同时将输出保存在数据结构中以供以后检查。这些方法返回字符串(解析或选择 HTML,它们不会修改对象)。
我找到了一个“硬编码”解决方案,方法是创建一个目前不是很有动力的课程:call list of function using list comprehension。
[也许另一个用于检查库的库将是一个极端。我试图在 Python 源代码中打印一些内容,但它没有服从我。似乎有另一个实例正在运行]
我已经尝试过这种语法(不可能):
result = [obj.f() for f in [append, attrs]]
因为append 和attrs 默认不是静态函数,而是如上所示的'点'。
目标只是简单检查所有 obj 方法。
[强烈建议编辑]
更新
在 [122] 中:getattr?文档字符串:getattr(object, name[, default]) -> 价值
从对象中获取命名属性; getattr(x, 'y') 等价于 x.y.当给定一个默认参数时,它会在 属性不存在;没有它,就会引发异常 案子。类型:builtin_function_or_method getattr():属性名必须是字符串 只有
2有效。这是得到的“结果”(不是硬编码) 有关“模型”作为对象的更多信息。
【问题讨论】:
-
你可以做
result = [f() for f in [obj.append, obj.attrs]]或result = [getattr(obj, f)() for f in ["append", "attrs"]] -
我试过了,结果我更新了。好像漏掉了属性,还没弄明白。
标签: python