7得票2回答
__instancecheck__ - 覆盖无效果 - 我做错了什么?

我想让我的类看起来像是一个不同的对象,以规避我正在使用的软件包中的懒惰类型检查。更具体地说,在实际情况下,我正在尝试使我的对象看起来像另一个对象的实例(在我的例子中是元组),而实际上它甚至不是这个对象的派生。 为了达到这个目的,我计划重写__isinstance__方法,根据文档, 这样做应...

171得票5回答
Python如何检查变量是否为列表中的任何一种类型?

如何简洁地执行以下操作:var = 7.0 var_is_good = ( isinstance(var, classinfo1) or isinstance(var, classinfo2) or isinstance(var, classinfo3) )

9得票4回答
Python中的鸭子类型用于pygame中MVC事件处理

我和朋友一起尝试使用pygame,发现了使用pygame构建游戏的这个教程。我们非常喜欢它将游戏分解为模型-视图-控制器系统,并使用事件作为中介,但代码在事件系统中大量使用isinstance检查。 例如: class CPUSpinnerController: ... d...

72得票1回答
collections.Iterable vs typing.Iterable在类型注释和检查Iterable时的区别

我发现在Python中,collections.Iterable和typing.Iterable都可以在类型注解和检查对象是否可迭代方面使用,即isinstance(obj, collections.Iterable)和isinstance(obj, typing.Iterable)都可以。我...

32得票2回答
将多个isinstance检查转换为结构化模式匹配

我希望将这段现有的代码转换为使用模式匹配:if isinstance(x, int): pass elif isinstance(x, str): x = int(x) elif isinstance(x, (float, Decimal)): x = round(x)...

46得票3回答
Python中isinstance()的否定形式

我该如何使用Python的isinstance()的负形式? 通常否定会像这样工作 x != 1 if x not in y if not a 我只是没有看到使用isinstance()的例子,所以想知道是否有正确的方法来使用isinstance()的否定。

22得票6回答
Python:检查一个对象是否为字符串列表

如何检查一个对象是否为字符串列表?我只能检查一个对象是否是字符串,如下:def checktype(obj): if isinstance(obj,str): print "It's a string" obj1 = ['foo','bar','bar','black','she...

9得票2回答
为什么Python的`except`语句不使用`isinstance`?

Python 文档中的except说明: 对于带有表达式的 except 子句,该表达式将被计算,如果结果对象与异常“兼容”,则该子句匹配该异常。如果一个对象是异常的类或基类,则它与异常兼容。 为什么 except 没有使用 isinstance 而是比较基类?这使得无法使用 __in...

24得票3回答
不导入候选项的情况下使用isinstance函数

我们有一个函数,该函数接受多种不同类型的输入:函数、字符串、编译后的正则表达式、Hamcrest Matcher。根据输入的类型适当地过滤列表。 我们目前正在使用 isinstance(our_filter, hamcrest.matcher.Matcher),但这要求我们必须安装 Hamc...

22得票4回答
为什么isinstance()不能与协议一起使用?

新的typing模块包含几个对象,它们的名称像“SupportsInt”( -Float,-Bytes等)。这些名称,以及在模块文档页面上的描述可能被读作是你可以测试一个对象是否是支持__int __()类型的代码。但如果你尝试使用isinstance(),它会给出一个明确的响应,表明这不是你...