微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python isinstance返回带有datetime.date的错误

如何解决Python isinstance返回带有datetime.date的错误

|| 我正在尝试编译旧的2008代码
import datetime

if isinstance(value,datetime.date):
但是我得到一个错误:   isinstance()arg 2必须是一个类,   类型,或类和类型的元组   Python可执行文件:/usr/bin/python2.6   Python版本:2.6.5 我想念什么?     

解决方法

我怀疑您输入了错误的日期时间,如下所示:
from datetime import datetime
改为使用:
import datetime
    ,我正在运行python 2.7,偶尔也会遇到此错误。如果您不需要严格的实例检查,通常只需检查类型就足够了。
if id(type) and type(value) in (datetime.datetime,datetime.date):
   #somecode
    ,为了进一步说明这一点,如果
datetime
是指
import datetime
中的模块或
from datetime import datetime
中的
datetime
类,因为它们都具有
date
属性,则必须小心。 在第一种情况下,“ 9”是指可以与“ 10”一起使用的日期类:
import datetime
type(datetime.date)
Out[13]: type
在第二种情况下,“ 9”指的是datetime类的date方法,不能与“ 10”一起使用,因此是错误的。
from datetime import datetime
type(datetime.date)
Out[15]: method_descriptor
为避免此类错误,最好使用
from datetime import date
显式导入和使用date类,然后使用
isinstance(value,date)
。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。