问题标签 [getattr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
74068 浏览

python - 如何正确使用__setattr__,避免无限递归

我想定义一个包含readwrite方法的类,可以如下调用:

为了不使用交错类,我的想法是覆盖__getattr__and__setattr__方法并检查给定名称是否device将返回重定向到self. 但是我遇到了一个无限递归的问题。示例代码如下:

正如在__init__代码中试图创建一个新属性x,它调用__setattr__,它再次调用__setattr__等等。我如何需要更改此代码,在这种情况下,创建一个新属性xself保存值1

或者有没有更好的方法来处理像instance.device.read被“映射”到的呼叫instance.read

因为总是有关于为什么的问题:我需要创建xmlrpc调用的抽象,可以创建非常简单的方法myxmlrpc.instance,device.read和类似的方法。我需要“模拟”它以模仿这种多点方法调用。

0 投票
2 回答
1134 浏览

python - 如何在 Django Admin 中从外键动态访问字段

所以我有这样的模型:

现在我希望 HoneyBadger 的管理界面显示生物的名称以及名人所有者字段。

我知道标准的建议是做这样的事情:

然后在管理员中引用这些方法。

相反,我想要一种方法来节省自己所有的打字!

这是我第一次尝试懒惰的捷径:

当我在 shell 中运行它时,它确实有效,但 Django 管理员不喜欢它。我收到此错误:

有谁知道我如何让我的代码与管理员一起工作,或者是否有另一种方法可以节省为每个名人字段输入方法?(也许是某种运行时猴子补丁?)

0 投票
1 回答
44 浏览

python - 获取引用对象的最佳方法是什么(可变级别)

让我们假设,以下情况:

尝试打印(getattr(f,“ref.ref.ref”))

引发'foo' 对象没有属性 'ref.ref.ref'

所以,我用以下函数解决了这个问题:

我想知道自己,是否是另一种方法或我可以使用的内置方法。

谢谢。

0 投票
1 回答
611 浏览

python - Lamba 的奇怪行为:列表中的 getattr(obj, x)

在以下示例中:

我总是4在打电话时得到getter

为什么!?

0 投票
1 回答
94 浏览

python - 在 Python/PyQt4 中动态分配实例

好的,这可能是重复的,但是由于我无法从(可能)类似的问题中真正得到任何东西,所以这是我的:我正在开发一个小型 PyQt4 程序,我可以在其中输入歌曲的名称 QLineEdit然后在它下面添加一个QLabel。我想要在每个标签旁边有一个按钮,单击时删除标签。相关代码:

现在,我不明白如何为每个动态添加的 Qlabels 分配不同的实例,以便在单击按钮时删除特定的实例。

我最好的想法是创建一个变量,其中包含一个随着每个添加的 QLabel 发生变化的数字,例如 var = rf+str(num) 和 num = 0,然后为每个 QLabel 添加 1 到 num,然后对实例使用 getattr ,所以 getattr(self, var) = Qtgui.QLabel(...),不幸的是,这给了我一个错误,我无法将该值分配给函数。而且我无法创建字典,因为我必须为此提供不同的实例。

任何想法将不胜感激,非常感谢。

0 投票
1 回答
2576 浏览

python - 从字符串中获取类对象

我正在编写以下内容来为我的 urls.py 生成 URL:

我有模块overviewcontent,分别带有类OverviewContentUploader

如果view数组(例如,[ 'Index' ]包含单个元素,我使用模块的大写形式(例如,overviewbecome Overview)来生成路由:

而如果它包含两个元素(例如[ 'Uploader', 'Default' ]),第一个元素指定类名,第二个元素指定方法:

您可能已经注意到,问题在于我对 的使用getattr(),它的第一个参数需要类引用。所以,我的问题是是否有任何方法可以从包含所述类对象标识符的字符串中获取类对象,例如,Uploader来自的类'Uploader'

作为免责声明,这些不是我的确切路线,只是一个例子。当然,也欢迎对我的整体设计提出进一步的意见。

0 投票
2 回答
8124 浏览

python - 如何从maya python中的列表中获取或设置对象的属性?

如何获取或设置 Attr translateY,例如list.

0 投票
1 回答
9079 浏览

django - django:getattr 函数(获取字段名)

我无法使函数 getattr 工作。这是我的代码:

怎么了?

0 投票
1 回答
336 浏览

python - 仅使用 getattr 的 Python 对象返回函数

http://effbot.org/zone/python-getattr.htm它指出

让我感到困惑的是,我有一个带有动态类方法生成类的模块。我知道这一代有效,因为调用 __dict__ 返回

让我困惑的是getattr起作用的脸,而直接调用属性却没有

0 投票
2 回答
1736 浏览

python - python:__getattr__的合作超级调用

我正在使用类似于此代码的东西:

我希望看到“123”的输出,但我得到了一个错误AttributeError: 'super' object has no attribute 'foo'。Python 甚至没有尝试使用基类的__getattr__.

如果不修改基类并保持两个超级调用相似,我无法获得我想要的输出。是否有任何合作的超级呼叫模式可以在这里为我工作?

我知道 super() 以某种方式覆盖getattr来做它需要做的事情,但我问是否有任何合理的解决方法允许__getattr__在适当的时候调用子类。