问题标签 [hasattr]

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 回答
16507 浏览

python - 在 Python 中检查成员是否存在

我经常想检查一个对象是否有成员。一个例子是在函数中创建单例。为此,您可以hasattr像这样使用:

但你也可以这样做:

一种方法比另一种更好吗?

编辑:添加@classmethod...但请注意,问题在于如何制作单例,而是如何检查对象中成员的存在。

编辑:对于那个例子,一个典型的用法是:

然后s是一个类型的对象,Foo每次都一样。而且,通常,该方法会被多次调用。

0 投票
12 回答
32643 浏览

python - hasattr() 与 try-except 块处理不存在的属性

对比

哪个应该是首选,为什么?

0 投票
3 回答
2299 浏览

python - 如何使用 hasattr 检查 Python 中的子模块

在运行时,Python 代码获取要加载的子模块的名称,这是我以前不知道的。现在,我想检查这个子模块是否存在于现有模块中。考虑这个结构,其中foobar可以指定:

现在,通常我会这样做,它适用于 defs 和变量:

或者我正在捕获 AttributeError,它同样有效。

但是,使用上述文件结构,我无法启动并使用这种方法。hasattr()始终返回 False(即,始终抛出 AttributeError)。

如果我查看dir(master),我会看到以下输出:

甚至明确指定__all__inmaster/__init__.py也无济于事,而是将 dir() 更改为

任何想法,我做错了什么,或者是否有办法实现这些测试?(顺便说一句:Win/Cygwin 上的 Python 2.6,如果有兴趣的话)

0 投票
2 回答
1340 浏览

python - hasattr 函数

如何使用hasattr(或不使用)检查函数或方法中的 attr 存在?当我尝试以任何方式检查它是否为 False 时:

0 投票
5 回答
26728 浏览

python - Python的字典列表值的hasattr总是返回false?

我有一本字典,有时会收到对不存在键的调用,所以我尝试使用hasattrgetattr处理这些情况:

第一次运行时integer = 1

再次运行此代码integer = 2

第一次运行显然是成功的 ( {'foo': [1]}),但hasattr返回 false 并getattr在第二次使用默认的空白数组,1在过程中丢失了 的值!为什么是这样?

0 投票
2 回答
540 浏览

python - 用于识别类型的 hasattr() 选项的 Python 参考

是否有一个很好的一站式 Python 参考来选择与 hasattr() 一起使用的属性来识别类型。

例如,以下是不是字符串的序列:

最好有一个可靠的参考来快速选择最佳模式。

0 投票
3 回答
2059 浏览

python - 如何重置分配给 Python 2.73 中函数的变量?

所以基本上一个人帮助我改进了我的代码。问题是,它仍然非常令人失望并且不起作用。我想做的是重置 lenRecur.number 以便我可以再次使用该函数,使用其他字符串并获得正确答案(不是太大的答案)

我想,问题出在 hasattr 上。但我不能删除它,因为如果我这样做了,我的字符串长度计算器将无法工作。

无论如何,即使我在函数后添加 lenRecur.number = 0 ,它仍然不起作用。

这似乎是不可能的,因为当函数点击“返回”时,它就完成了,句号。如果我在“返回”之前重置它,它将返回 0,而不是正确的答案,所以是的,我在这里遇到了很大的麻烦。

Ps 我的程序(?)/脚本(?)的目标是测量输入字符串的长度,而不使用 input() 方法。尝试使用更原始的方法重新创建 length() 方法。

脚本必须有许多不同的输入,所以它应该重置。

0 投票
2 回答
744 浏览

python - 鸭子打字和hasattr的使用

我见过很多次这样的事情:

但是如果我传递以下类的实例,它肯定会失败:

我的问题是:最pythonic的处理方式是什么?

我一直在考虑两种主要方法:

0 投票
1 回答
316 浏览

python - 方法“hasattr”没有正确测试属性?

我真的被这个困住了!我从 Amazon 获取了一些产品数据,这些数据以 XML 形式返回。当搜索关键字有效时,它返回带有节点Items>的 XML Item。使用错误的关键字,或不返回有效结果的关键字,Item节点不存在。我正在使用一些函数将此 XML 转换为 Object 以便于解析。然后用于hasattr递归检查各个节点。

即使Item节点不存在,也hasattr返回 true。因此,如果出现错误,我的网站就会爆炸!

有任何想法吗?

示例 XML:

0 投票
1 回答
3649 浏览

python - 用于获取链接的 Beautifulsoup 和 Souptrainer 不适用于 hasattr,总是返回 true

我正在使用 Beautifulsoup4 和 Souptrainer 和 Python 3.3 从网页获取所有链接。以下是重要的代码片段:

我测试了一些网页,效果很好,但今天使用时

我认识到 hasattr(link, 'href') 总是返回 TRUE,即使没有这样的 'href' 字段,就像在 goldentigercasino.de 示例中一样。因为我迟到使用链接['href'] 时遇到麻烦,因为它根本不存在。

我还尝试了这样的解决方法:

可以按需要工作,除了它还返回 Doctype:

由于与上述相同的原因,这也造成了麻烦。

我的问题:为什么 hasattr 总是返回 true,我该如何解决?如果 hasattr 没有可能,我该如何解决它不返回 DOCTYPE 的解决方法?

致以真诚的感谢和诚挚的问候!