问题标签 [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.
python - Python,在getattr中使用两个变量?
我正在尝试执行以下操作:
但我收到一个错误:
我在调用 getattr 之前尝试过这个,但它仍然不起作用:
我不明白为什么会这样,任何建议表示赞赏
python - Python 的 getattr 被调用了两次?
我正在使用这个简单的例子来理解 Python 的getattr函数:
为什么要bar
打印两次?使用 Python 2.6.5。
python - Python,Django,如何使用getattr(或其他方法)调用具有多个属性的对象?
在尝试让它工作一段时间并四处搜索之后,我真的很难过,所以在这里发帖......我想在我为 django 编写的类中制作一些函数尽可能通用,所以我想使用 getattr 来调用以通用方式实现以下功能:
我这样做的方式(非通用方式):
我的一个尝试以通用方式创建它,但仍然无法正常工作,它确实返回了一些东西,但它不是正确的对象类型,因此我可以从中获取数据(它是 django 的数据库调用)
python - __getattr__ 等价于方法
未找到属性时object.__getattr__
调用。是否有等效的方法来拦截未定义的方法?
python - What is getattr() exactly and how do I use it?
I've recently read about the getattr()
function. The problem is that I still can't grasp the idea of its usage. The only thing I understand about getattr()
is that getattr(li, "pop")
is the same as calling li.pop
.
I didn't understand when the book mentioned how you use it to get a reference to a function without knowing its name until run-time. Maybe this is me being a noob in programming, in general. Could anyone shed some light on the subject? When and how do I use this exactly?
python - Python递归地__getattribute__
我需要实现这样的行为:
看起来我必须重写 obj 的类__getattribute__
,并且还要以某种方式使用 python 描述符。
更新:
我有一个 Django 项目。
obj 是 django-haystack 的 SearchResult 实例,它包含大量来自 django 模型的非规范化数据(user__name
, ),出于兼容性原因user__address
,我需要访问它。result.user.name
THC4k 答案的更新:
如果我有:
任何帮助都感激不尽。
python - 了解 __getattr__ 和 __getattribute__ 之间的区别
我试图理解 和 之间的区别__getattr__
,__getattribute__
但是,我失败了。
堆栈溢出问题的答案vs之间的差异__getattr__
__getattribute__
说:
__getattribute__
在查看对象的实际属性之前调用,因此正确实现可能很棘手。您可以很容易地以无限递归结束。
我完全不知道那是什么意思。
然后它继续说:
你几乎肯定想要
__getattr__
。
为什么?
我读到如果__getattribute__
失败,__getattr__
则调用。那么为什么有两种不同的方法做同样的事情呢?如果我的代码实现了新的样式类,我应该使用什么?
我正在寻找一些代码示例来解决这个问题。我已经尽我所能在谷歌上搜索,但我找到的答案并没有彻底讨论这个问题。
如果有任何文件,我准备阅读。
python - 可以在 Python 中按名称(作为字符串)调用 XML-RPC 方法吗?
在 python 中,调用 XML-RPC 方法涉及调用代理对象上的方法:
在其他一些语言中,例如 perl,您将方法名称作为方法参数传递。
有没有办法在 Python 中按名称(作为字符串)调用 XML-RPC 方法?
python - 为什么我不能将 __getattr__ 与 Django 模型一起使用?
我在网上看到过人们使用__getattr__
Django 模型的例子,但每当我尝试时都会出错。(Django 1.2.3)
我__getattr__
在普通物体上使用时没有任何问题。例如:
工作得很好...
现在,当我尝试使用 Django 模型时:
并在解释器上进行测试:
以下回溯可能已损坏或无效错误消息是:('EOF in multi-line statement', (6, 0))
-------------------------------------------------- ------------------------- TypeError
Traceback(最近一次调用最后一次)/Users/josh/project/ in ()
/Users/josh/project/lib/python2.6/site-packages/django/db/models/base.pyc in init (self, *args, **kwargs) 338 if kwargs: 339 raise TypeError("'%s ' 是此函数的无效关键字参数" % kwargs.keys()[0]) --> 340 signals.post_init.send(sender=self.class , instance=self) 341 342 def repr (self):
/Users/josh/project/lib/python2.6/site-packages/django/dispatch/dispatcher.pyc in send(self, sender, **named) 160 161 for self._live_receivers(_make_id(sender)) 中的接收者: --> 162 response = receiver(signal=self, sender=sender, **named) 163 response.append((receiver, response)) 164 返回响应
/Users/josh/project/python2.6/site-packages/photologue/models.pyc in add_methods(sender, instance, signal, *args, **kwargs) 728 """ 729 if hasattr(instance, 'add_accessor_methods') : --> 730 instance.add_accessor_methods() 731 732 # 将 add_accessor_methods 函数连接到 post_init 信号
TypeError:“int”对象不可调用
有人可以解释发生了什么吗?
编辑:我在示例中可能过于抽象,这里有一些更接近我在网站上实际使用的代码:
虽然我可以为 Post 类的每个属性创建一个属性,但这会导致大量代码重复。此外,这意味着每当我添加或编辑 Post 类的属性时,我都必须记住对 CuratedPost 类进行相同的更改,这似乎是代码腐烂的秘诀。
python - python __getattr__ 帮助
读一本书,我遇到了这个代码......
它做了我想做的事,但我不明白课堂上的__getattr__
功能Manager
。我知道它代表了Person
类的所有其他属性。但我不明白它的工作方式。例如为什么Person
上课?因为我没有明确告诉它。人(模块不同于人(类)
非常感谢任何帮助:)