确定变量是否为任何类的实例

时间:2019-03-14 12:50:32

标签: python python-3.x instance isinstance

如何确定变量是否是Python 3中的实例?如果它具有df %>% group_by(region, place) %>% arrange(time) %>% mutate(difference=ifelse(action=="STOP", NA, ifelse(lead(action)=="STOP",difftime(lead(time),time,units="secs"),NA))) 属性,我认为它是一个实例。

示例:

__dict__

我已经看到了有关使用is_instance_of_any_class(5) # should return False is_instance_of_any_class([2, 3]) # should return False class A: pass a = A() is_instance_of_any_class(a) # should return True isinstance(x, type)的消息,但这对于类(A)(而不是实例)而言为True。

1 个答案:

答案 0 :(得分:2)

我认为您对实例错误的理解在这里,因为所有内容都是python中的对象,所以5是类int的对象,而[2,3]是类的对象list,依此类推。

如果仅想检查isinstance(x, y)是否是x的对象,而要检查y是否是对象,则

x是解决方法内置类或您自己的自定义定义类,则应使用__dict__检查hasattr(x, '__dict__')的存在。