确定变量是否是任何 class 的实例
Determine if a variable is an instance of any class
如何判断一个变量是否是Python3中的一个实例?如果它具有 __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)
或 inspect.isclass(x)
的消息,但这将为 class (A) 提供 True,而不是实例。
我认为您对实例的理解在这里是错误的,因为在 python 中一切都是对象,所以 5
是 class int
的对象并且[2,3]
是 class list
等的对象。
isinstance(x, y)
是如果你只想检查 x
是否是 y
的对象的方法,但如果你想检查 x
是否是内置对象 class 或您自己自定义的对象 class 那么您应该使用 hasattr(x, '__dict__')
.
检查 __dict__
是否存在
如何判断一个变量是否是Python3中的一个实例?如果它具有 __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)
或 inspect.isclass(x)
的消息,但这将为 class (A) 提供 True,而不是实例。
我认为您对实例的理解在这里是错误的,因为在 python 中一切都是对象,所以 5
是 class int
的对象并且[2,3]
是 class list
等的对象。
isinstance(x, y)
是如果你只想检查 x
是否是 y
的对象的方法,但如果你想检查 x
是否是内置对象 class 或您自己自定义的对象 class 那么您应该使用 hasattr(x, '__dict__')
.
__dict__
是否存在