问题标签 [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.
android - XML 解析以获取属性值
我正在使用 SAX Parser 解析 xml。当我需要获取的数据是 xml 标记的主体时,一切工作正常。我得到的唯一问题是当我需要的数据是那个 XML 标记的属性值时。我如何获得这个属性值?
假设这是一个标签,我可以获得 Body 但不是 value
我正在使用的代码是:
python - 为什么 Python 没有内置混合 getattr + __getitem__?
我有接受字典或其他对象的方法以及从这些对象中获取的“字段”的名称。如果对象是 dict,则该方法用于__getitem__
检索命名键,否则它用于getattr
检索命名属性。这在 Web 模板语言中很常见。例如,在Chameleon模板中,您可能有:
如果您foo
以 dict 之类的形式传入{'keyname':'bar'}
,则foo.keyname
获取“keyname”键以获取“bar”。Iffoo
是一个类的实例,例如:
然后foo.keyname
从keyname
属性中获取值。Chameleon 本身实现了该功能(在chameleon.py26
模块中),如下所示:
我已经在自己的包中实现了它,例如:
问题是,这是一个很常见的模式。我已经在很多模块中看到过这种方法或与之非常相似的方法。那么为什么在语言的核心中没有类似的东西,或者至少在一个核心模块中呢?如果做不到这一点,是否有明确的方式来说明应该如何编写?
python - 在 Python 中使用 getattr/setattr 访问列表项
尝试在 Python 中使用 getattr 和 setattr 函数访问/分配列表中的项目。不幸的是,似乎无法将列表索引中的位置与列表名称一起传递。
这是我尝试的一些示例代码:
另请注意,在 attr 函数的第二个参数中,您不能在此函数中连接字符串和整数。
干杯
python - 为什么这个 __getattr__ 函数不起作用?
我写了一个小类来尝试使用自定义__getattr__
方法,每次运行它时,我都会收到一个属性错误:
那么输出是:
是什么赋予了?我认为在引发属性错误之前调用了getattr ?
python - Python - 如何定义不受 __getattr__ 影响的属性?
我对 Python 还很陌生。最近在编写大量 PHP 时,我习惯了一些创造性地使用__get
和__set
“魔术”方法。这些仅在类的公共变量不存在时才被调用。
我试图在 Python 中复制相同的行为,但似乎失败得很惨。鉴于似乎没有办法以 C++/PHP 方式实际定义类变量,当我尝试在我的类中正常使用变量(即通过 self)时,它最终会调用__getattr__
!
如何定义我不想受到影响的类的属性__getattr__
?
下面是我想要做的一些示例代码,我想要self.Document
而self.Filename
不是调用__getattr__
.
谢谢您的帮助!
python - 在 Python 中使用 __getattribute__ 或 __getattr__ 调用方法
我正在尝试创建一个充当自定义类列表的子类。但是,我希望列表继承父类的方法和属性,并返回每个项目的数量之和。我正在尝试使用该__getattribute__
方法执行此操作,但我无法弄清楚如何将参数传递给可调用属性。下面高度简化的代码应该解释得更清楚。
实际上,我有许多必须可调用的父类方法。我意识到我可以为类似列表的子类手动覆盖每一个,但我想避免这种情况,因为将来可能会向父类添加更多方法,并且我想要一个动态系统。任何意见或建议表示赞赏。谢谢!
python - Python - getattr 和连接
因此,在我的代码中使用 getattr 时,我发现了以下内容:
工作......但这样的事情:
返回 foo 不包含属性 A.bar 的错误。我哪里错了?谢谢!
python - 用 __getattr__ 问题覆盖 eval 全局变量
我正在尝试覆盖全局变量,以便任何不存在的属性名称都返回自身(名称字符串)。这样做的原因是在 eval 中使用它来对 ac initilizer 列表进行一些快速/hacky解析(当然只是因为)。我的代码:
每当我尝试评估一个不存在的名称时,它都会给我一个 NameError
如果我尝试直接调用
即使对于有效的属性,我也只能取回 attr 名称字符串。我究竟做错了什么?
python - 有没有办法从 __getattr__ 中检查传入的参数,或者以其他方式根据传入的参数重定向调用?
一些背景:我们有一个交易系统,我们根据交易账单的国家划分流程。我们有一个存在于 2 个实例中的日志记录表,一个 DB 将事务记录到欧盟,另一个记录到其他任何地方。我们还有一个测试库,用于管理和隐藏使用数据库的内容,粗略地说,每个表都由一个类表示。我有一个代表表的类,而 db 会话管理器类对于该类的两个实例中的每一个都有两个成员。我想要做的是创建一个通用的'meta dao'类,它将对其进行任意调用,检查参数,并根据输入参数之一,随后将调用分派给正确的代表数据库实例的类实例。我最初考虑只是重载每个方法,但那
我正在考虑使用__getattr__
来覆盖方法查找,以便我可以根据接收到的方法的名称调用正确的实例__getattr__
,但据我了解,我不能从 insideinspect
传入方法参数__getattr__
,所以我可以在这种情况下,不能从它内部正确调度。有没有人对我可以追求的不同方向有任何想法,或者有一种从内部“检查”参数的方法,而不仅仅是方法名称__getattr__
?
[编辑]这是我正在谈论的通用版本:
php - PHP 方法来实现 Python 的魔法 __getattr__()
我想知道 PHP 中是否有某种方法可以复制 Python 属性/键访问的一些魔力。
我使用了一个由Steve Lacey编写的名为Minimongo的 Mongo ORM 类,他在其中利用__getattr__
and__getitem__
来重新路由键和属性风格的访问,并保留 Mongo 的“面向文档”的性质。 val = doc.foo
并val = doc['foo']
变得等价。
我想知道 PHP 中是否有类似的接口,它允许更改从它继承的类的对象访问处理方式。我翻遍了 STL,找不到适合的。这对于设置默认值非常有用。谢谢。