问题标签 [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.
python - 在 Python 中检查成员是否存在
我经常想检查一个对象是否有成员。一个例子是在函数中创建单例。为此,您可以hasattr
像这样使用:
但你也可以这样做:
一种方法比另一种更好吗?
编辑:添加@classmethod
...但请注意,问题不在于如何制作单例,而是如何检查对象中成员的存在。
编辑:对于那个例子,一个典型的用法是:
然后s
是一个类型的对象,Foo
每次都一样。而且,通常,该方法会被多次调用。
python - hasattr() 与 try-except 块处理不存在的属性
对比
哪个应该是首选,为什么?
python - 如何使用 hasattr 检查 Python 中的子模块
在运行时,Python 代码获取要加载的子模块的名称,这是我以前不知道的。现在,我想检查这个子模块是否存在于现有模块中。考虑这个结构,其中foo
和bar
可以指定:
现在,通常我会这样做,它适用于 defs 和变量:
或者我正在捕获 AttributeError,它同样有效。
但是,使用上述文件结构,我无法启动并使用这种方法。hasattr()
始终返回 False(即,始终抛出 AttributeError)。
如果我查看dir(master)
,我会看到以下输出:
甚至明确指定__all__
inmaster/__init__.py
也无济于事,而是将 dir() 更改为
任何想法,我做错了什么,或者是否有办法实现这些测试?(顺便说一句:Win/Cygwin 上的 Python 2.6,如果有兴趣的话)
python - hasattr 函数
如何使用hasattr
(或不使用)检查函数或方法中的 attr 存在?当我尝试以任何方式检查它是否为 False 时:
python - Python的字典列表值的hasattr总是返回false?
我有一本字典,有时会收到对不存在键的调用,所以我尝试使用hasattr
并getattr
处理这些情况:
第一次运行时integer = 1
:
再次运行此代码integer = 2
:
第一次运行显然是成功的 ( {'foo': [1]}
),但hasattr
返回 false 并getattr
在第二次使用默认的空白数组,1
在过程中丢失了 的值!为什么是这样?
python - 用于识别类型的 hasattr() 选项的 Python 参考
是否有一个很好的一站式 Python 参考来选择与 hasattr() 一起使用的属性来识别类型。
例如,以下是不是字符串的序列:
最好有一个可靠的参考来快速选择最佳模式。
python - 如何重置分配给 Python 2.73 中函数的变量?
所以基本上一个人帮助我改进了我的代码。问题是,它仍然非常令人失望并且不起作用。我想做的是重置 lenRecur.number 以便我可以再次使用该函数,使用其他字符串并获得正确答案(不是太大的答案)
我想,问题出在 hasattr 上。但我不能删除它,因为如果我这样做了,我的字符串长度计算器将无法工作。
无论如何,即使我在函数后添加 lenRecur.number = 0 ,它仍然不起作用。
这似乎是不可能的,因为当函数点击“返回”时,它就完成了,句号。如果我在“返回”之前重置它,它将返回 0,而不是正确的答案,所以是的,我在这里遇到了很大的麻烦。
Ps 我的程序(?)/脚本(?)的目标是测量输入字符串的长度,而不使用 input() 方法。尝试使用更原始的方法重新创建 length() 方法。
脚本必须有许多不同的输入,所以它应该重置。
python - 鸭子打字和hasattr的使用
我见过很多次这样的事情:
但是如果我传递以下类的实例,它肯定会失败:
我的问题是:最pythonic的处理方式是什么?
我一直在考虑两种主要方法:
和
python - 方法“hasattr”没有正确测试属性?
我真的被这个困住了!我从 Amazon 获取了一些产品数据,这些数据以 XML 形式返回。当搜索关键字有效时,它返回带有节点Items
>的 XML Item
。使用错误的关键字,或不返回有效结果的关键字,Item
节点不存在。我正在使用一些函数将此 XML 转换为 Object 以便于解析。然后用于hasattr
递归检查各个节点。
即使Item
节点不存在,也hasattr
返回 true。因此,如果出现错误,我的网站就会爆炸!
有任何想法吗?
示例 XML:
python - 用于获取链接的 Beautifulsoup 和 Souptrainer 不适用于 hasattr,总是返回 true
我正在使用 Beautifulsoup4 和 Souptrainer 和 Python 3.3 从网页获取所有链接。以下是重要的代码片段:
我测试了一些网页,效果很好,但今天使用时
我认识到 hasattr(link, 'href') 总是返回 TRUE,即使没有这样的 'href' 字段,就像在 goldentigercasino.de 示例中一样。因为我迟到使用链接['href'] 时遇到麻烦,因为它根本不存在。
我还尝试了这样的解决方法:
可以按需要工作,除了它还返回 Doctype:
由于与上述相同的原因,这也造成了麻烦。
我的问题:为什么 hasattr 总是返回 true,我该如何解决?如果 hasattr 没有可能,我该如何解决它不返回 DOCTYPE 的解决方法?
致以真诚的感谢和诚挚的问候!