我在变量中有一些价值v,如何检查它的类型?
提示:它不是v.dtype.
当我type(v)在调试器中,我得到
type(v) = {type} <type 'h5py.h5r.Reference'>
Run Code Online (Sandbox Code Playgroud)
要么
type(v) = {type} <class 'h5py._hl.dataset.Dataset'>
Run Code Online (Sandbox Code Playgroud)
如何在运行时检查这些值?
"检查"表示计算布尔结果,说明是否给出了类型.
UPDATE
在所谓的"重复"问题中,据说比较第一类应该使用
type(v) is str
Run Code Online (Sandbox Code Playgroud)
隐含地假设类型是字符串.是吗?
MSe*_*ert 25
我认为你的问题比我原先想象的要宽泛一些.type()使用一个参数返回对象的type或class.所以如果你有a = 'abc'并且使用type(a)它返回,str因为变量a是一个字符串.如果b = 10,type(b)返回int.
如果你想要比较,你可以使用:( if type(v) == h5py.h5r.Reference检查它是否是一个h5py.h5r.Reference实例).
但建议一个使用if isinstance(v, h5py.h5r.Reference)但后来也子类将评估到True.
如果要打印课程使用print v.__class__.__name__.
更一般地说:您可以使用type(v) is type(other_v)或比较两个实例是否具有相同的类isinstance(v, other_v.__class__).
Hen*_*uni 12
使用isinstance(v, type_name)或type(v) is type_name或type(v) == type_name,
其中type_name可以是以下之一:
而且当然,
| 归档时间: |
|
| 查看次数: |
128394 次 |
| 最近记录: |