问题标签 [isinstance]

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 投票
7 回答
21422 浏览

python - 如何检查对象是否是命名元组的实例?

如何检查对象是否是Named tuple的实例?

0 投票
5 回答
22439 浏览

java - 检查注解是否属于特定类型

我正在使用反射来查看附加到类属性的注释是否属于特定类型。目前我正在做:

这让我觉得有点笨拙,因为它依赖于一个完全限定类名的字符串。如果将来命名空间发生变化,这可能会导致细微的错误。

我想要做:

但是javax.validation.Valid是一个抽象类,不能实例化。有没有办法针对接口或抽象类模拟instanceof(或基本上使用)?isInstance

0 投票
3 回答
1342 浏览

c# - 是“is”运算符只是“IsInstanceOfType”方法的语法糖

以下代码片段是否等效?

//它来了

//...是相同的...

或者也许其他类型方法之一映射更接近 is 运算符。例如“IsAssignableFrom”或“IsSubclassOf”

0 投票
2 回答
2236 浏览

python - 为什么 Python 的 `except` 不使用 `isinstance`?

Python文档except说:

对于带有表达式的 except 子句,该表达式被求值,如果结果对象与异常“兼容”,则该子句匹配异常。如果对象是异常对象的类或基类,则对象与异常兼容,[...]

为什么不except使用isinstance而不是比较基类?这可以防止使用__instancecheck__覆盖实例检查。

编辑:

我可以理解,这不存在的原因之一是没有人考虑过它。但是有什么理由不应该实施呢?

编辑:

来自 Python 3.2a 的 Shell 会话显示尝试使用__subclasscheck__它不起作用:

0 投票
2 回答
1035 浏览

python - 无法在 Python 中获取对象的类名

我正在使用 isinstance 检查参数类型,但找不到正则表达式模式对象的类名:

...

有任何想法吗?

0 投票
2 回答
4470 浏览

python - 是布尔的实例吗?

在 Python 中,我想在条件语句中使用它之前检查以确保命令行参数是 bool 类型。这:isinstance(sys.argv[2], bool)回来是假的。这样做的正确方法是什么?

0 投票
5 回答
1978 浏览

python - 在没有 isinstance() 的列表上递归

我刚刚读过“isinstance() 被认为有害”,这似乎是合理的。简而言之,它主张避免使用此功能。

好吧,刚才我碰巧正在编写一个程序,该程序接受结构为树的输入,并且需要树的结构信息。没有时间实现 GUI,我强迫用户将其写入配置文件(我知道这是一个糟糕的界面,但时间安排真的很紧)。我的用户技术性很强,但不一定懂python。我选择该文件将包含代表输入树的列表列表(列表列表等),最终元素是树的叶节点。我认为这比将字典的合成器强加给用户要好得多。

我计划递归解析列表如下(省略树结构的使用,让我们简化并说必须在每个叶节点上调用treatLeafNode()):

根据这篇文章,我想知道是否有一种简单的方法可以在不使用 isinstance() 的情况下对其进行递归......

有人知道吗?

0 投票
3 回答
6373 浏览

python - 如何正确检查 Python 中的对象类型?

问题:我必须检查返回的值是否是 Python 字典。

Q1。这些选项中的哪一个是执行此操作的正确方法?

然后还有其他变体使用isoperator 而不是==.

Q2。很多人说检查对象的类型通常是一种不好的做法,但是对于我最初的问题,我还有其他选择吗?

0 投票
4 回答
4281 浏览

python - pygame 中用于 MVC 事件处理的 Python 鸭子类型

我和一个朋友一直在玩 pygame,偶然发现了这个使用 pygame构建游戏的教程。我们真的很喜欢它如何将游戏分解成一个模型-视图-控制器系统,其中事件作为中间人,但是代码大量使用了isinstance对事件系统的检查。

例子:

这会导致一些极其不合 Python 的代码。有人对如何改进有任何建议吗?或者实现 MVC 的替代方法?


这是我根据@Mark-Hildreth 回答编写的一些代码(我如何链接用户?)还有其他人有什么好的建议吗?在选择解决方案之前,我将把它打开一天左右。

这是使用来自@Paul 的示例的另一个构建 - 非常简单!

0 投票
4 回答
1069 浏览

python - 让“isinstance”与装饰器一起工作

Pythonisinstance函数在内部是如何工作的?我可以做些什么来改变它的结果,比如在一个类中定义一个特殊的函数之类的吗?这是我的用例:

Decorator行为几乎就像一个混合,除了混合在这里不合适。有什么办法可以使上面的代码工作吗?我还应该注意,该isinstance行还给出了以下错误:

    isinstance(f, Foo)
TypeError: isinstance() arg 2 must be a type or tuple of types