问题标签 [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.
python - isinstance python返回不同的值
我对isinstance()
Python 的工作原理有点迷茫。我以前用过这个函数,行为很清楚,直到现在。
一点上下文。我有一个类Classifier
,它有一个set_kernel
可以将字符串或内核作为参数的方法。我正在从 main 函数创建一个名为 .kernel 的内核类型的对象k
。当我使用isinstance(k, Kernel)
答案是True
。但是,如果我k
作为参数传递给分类器,然后在函数内部进行相同的检查,它会返回False
.
关于这里发生了什么的任何线索?我附上了一些代码片段以使其更清晰:
谢谢!
编辑1:我改进了编码并清理了所有与问题本身无关的东西。
python - 将 isinstance 与未定义的类一起使用
假设类MyClass
有时(但并非总是)已定义。我有一个函数foo(a=None)
,其中参数a
可以是None
、字符串或MyClass
.
我的问题是:如果MyClass
没有在我的 Python 会话中定义,我如何a
以类似于isinstance
没有的方式检查参数的类型NameError
?
关于鸭子打字的注意事项:我故意限制功能。
我正在使用 Python 2.6.x 并且更新不是一个选项。前向兼容的解决方案(尤其是 2.7.x)受到高度赞赏。
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'>
。
python - Python- isinstance- 加号(+)的使用
任何人都可以帮助我了解加号(+)使用 isinstance 登录的用途。
特别是这部分--> string + (int,)
python - 使 isinstance 失败(以可定制的方式)
我正在尝试为“忘记”检查失败的 Python C 扩展编写回归测试PyObject_IsInstance
。但我唯一能想到的是一个覆盖的元类,__instancecheck__
例如:
有用:
但这似乎很复杂。有没有更简单的方法(python2 和 python3 兼容)让PyObject_IsInstance
( isinstance
) 失败?可定制的异常是最好的,但内置的也可以。
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)
python - Python中的Pickle,如何检查变量是字符串还是pickle?
我通过网络发送和接收不同的对象。在我的应用程序中,服务器可以接收泡菜或字符串。有没有办法知道我得到的数据是泡菜还是字符串?
我试过了:
但输出没有帮助,它显示:
所以它似乎对泡菜和字符串一视同仁。有任何想法吗?
python - 使用 isinstance() 可以覆盖类型
使用isinstance()
改变了类的类型dict
为什么会出现这种情况?我知道使用内置函数会阻止,但我想更好地理解为什么会发生这种情况。
python - isinstance 如何为 List 工作?
我试图了解 Python 的类型注释是如何工作的(例如List
and Dict
- not list
ordict
)。具体来说,我对如何isinstance(list(), List)
工作很感兴趣,这样我就可以创建自己的自定义注释。
我看到它List
被定义为:
我很熟悉,metaclass = xxx
但我找不到任何关于此的文档extra = xxx
。这是一个关键字还是只是一个参数,如果是,它来自哪里,它是否符合我的要求?它甚至与 相关isinstance
吗?