我有一个变量v,什么时候做
print type(v)
我知道了
<type 'DateTime'>
但是当我这样做
if type(v) in (datetime, datetime.date, datetime.datetime, datetime.time):
这不是真的
问题是:为什么?
编辑:
DateTime类型是Spotfire特定类型。
在这种情况下,您要使用的是isinstance
if isinstance(v, (datetime, datetime.date, datetime.datetime, datetime.time)):
简而言之,原因是type(v)
限制性更强,不能使用子类,就像我想象的那样,DataTime就是这样。
对于一个详细的概述type vs isinstance
头部到这个问题。
另外,请注意,您输入的是<type 'DateTime'>
和不是datetime.datetime
。您需要导入DateTime
该类并使用它。例如:
from x.y.z import DateTime
if type(v) in (..., DateTime, ...):
....
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句