问题标签 [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 投票
2 回答
82 浏览

python - isinstance python返回不同的值

我对isinstance()Python 的工作原理有点迷茫。我以前用过这个函数,行为很清楚,直到现在。

一点上下文。我有一个类Classifier,它有一个set_kernel可以将字符串或内核作为参数的方法。我正在从 main 函数创建一个名为 .kernel 的内核类型的对象k。当我使用isinstance(k, Kernel)答案是True。但是,如果我k作为参数传递给分类器,然后在函数内部进行相同的检查,它会返回False.

关于这里发生了什么的任何线索?我附上了一些代码片段以使其更清晰:

谢谢!

编辑1:我改进了编码并清理了所有与问题本身无关的东西。

0 投票
3 回答
939 浏览

python - 将 isinstance 与未定义的类一起使用

假设类MyClass有时(但并非总是)已定义。我有一个函数foo(a=None),其中参数a可以是None、字符串或MyClass.

我的问题是:如果MyClass没有在我的 Python 会话中定义,我如何a以类似于isinstance没有的方式检查参数的类型NameError

关于鸭子打字的注意事项:我故意限制功能。

我正在使用 Python 2.6.x 并且更新不是一个选项。前向兼容的解决方案(尤其是 2.7.x)受到高度赞赏。

0 投票
1 回答
162 浏览

python - 为方法fromtimestamp指定参数tz时,为什么日期时间的子类不是子类的实例?

下面是子类日期时间的示例代码。

由于 pass 是唯一的子类主体,因此预计会保留 datetime 的方法“__new__”。

以下代码已在 Mac OS 10.12.3 上的 Python 3.4.2 和 Arch Linux 上的 Python 3.6.0 上进行了测试。在这两种情况下,结果相同。

问题是,为什么 'a' 是 MyDatetime 的一个实例,而 'b' 不是 MyDatetime 的一个实例,而它们仅在参数 tz 上有所不同?

感谢您的反馈意见。现在继续这个例子......

上面的示例打印以下内容:'为什么 isinstance(a, MyDatetime) == True,而 isinstance(b, MyDatetime) == False?

这边type(a) == <class '__main__.MyDatetime'>,一会儿type(b) == <class 'datetime.datetime'>

0 投票
1 回答
102 浏览

python - Python- isinstance- 加号(+)的使用

任何人都可以帮助我了解加号(+)使用 isinstance 登录的用途。

特别是这部分--> string + (int,)

0 投票
0 回答
42 浏览

python - 使 isinstance 失败(以可定制的方式)

我正在尝试为“忘记”检查失败的 Python C 扩展编写回归测试PyObject_IsInstance。但我唯一能想到的是一个覆盖的元类,__instancecheck__例如:

有用:

但这似乎很复杂。有没有更简单的方法(python2 和 python3 兼容)让PyObject_IsInstance( isinstance) 失败?可定制的异常是最好的,但内置的也可以。

0 投票
2 回答
152 浏览

python - 对实例撒谎

所以,这是一个kluge。我正在与 luigi 和 sciluigi 合作。

isinstance支票在 sciluigi 包中,我宁愿把它弄好,然后必须为这个小问题分支整个 sciluigi :)

简而言之,我必须继承包的一个类 (luigi.LocalTarget) - 以添加额外的功能。该功能效果很好,但是 sciluigi 包中有一个对象检查...

sciluigi.dependencies.DependencyHelpers._parse_outputitem()

...这会导致运行失败,因为某isinstance行设置为仅检查“TargetInfo”对象。

我想做的只是告诉我的孩子类“撒谎”,isinstance以便它作为一个TargetInfo对象报告并通过:D

事先请求宽恕:D

错误信息:

...不幸的是,这是 Sciluigi 作为输出提供的 100% 的错误回溯。

sciluigi.dependencies.TargetInfo(object)

0 投票
1 回答
707 浏览

python - 在实例中使用 basestring - 类型不匹配警告

isinstance 的警告

警告是:预期类型'Union [type,Tuple [type,...]]',改为'Union [str,unicode]'。

难道我做错了什么?

0 投票
2 回答
2075 浏览

python - Python中的Pickle,如何检查变量是字符串还是pickle?

我通过网络发送和接收不同的对象。在我的应用程序中,服务器可以接收泡菜或字符串。有没有办法知道我得到的数据是泡菜还是字符串?

我试过了:

但输出没有帮助,它显示:

所以它似乎对泡菜和字符串一视同仁。有任何想法吗?

0 投票
1 回答
458 浏览

python - 使用 isinstance() 可以覆盖类型

使用isinstance()改变了类的类型dict 为什么会出现这种情况?我知道使用内置函数会阻止,但我想更好地理解为什么会发生这种情况。

0 投票
1 回答
1873 浏览

python - isinstance 如何为 List 工作?

我试图了解 Python 的类型注释是如何工作的(例如Listand Dict- not listordict)。具体来说,我对如何isinstance(list(), List)工作很感兴趣,这样我就可以创建自己的自定义注释。

我看到它List被定义为:

我很熟悉,metaclass = xxx但我找不到任何关于此的文档extra = xxx。这是一个关键字还是只是一个参数,如果是,它来自哪里,它是否符合我的要求?它甚至与 相关isinstance吗?