- 1. hasattr(object, name)
说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。
参数object:对象。
参数name:特性名称。
示例:
>>> hasattr(list, 'append')
True >>> hasattr(list, 'add')
False
2. isinstance
Python可以得到一个对象的类型 ,利用type函数:
>>>lst = [1, 2, 3] >>>type(lst) <type 'list'>
不仅如此,还可以利用isinstance函数,来判断一个对象是否是一个已知的类型。
isinstance说明如下: isinstance(object, class-or-type-or-tuple) -> bool Return whether an object is an instance of a class or of a subclass thereof. With a type as second argument, return whether that is the object's type. The form using a tuple, isinstance(x, (A, B, ...)), is a shortcut for isinstance(x, A) or isinstance(x, B) or ... (etc.).
其第一个参数为对象,第二个为类型名或类型名的一个列表。其返回值为布尔型。 若对象的类型与参数二的类型相同则返回True。若参数二为一个元组,则若对象类型与元组中类型名之一相同即返回True。
>>>isinstance(lst, list) Trueisinstance(lst, (int, str, list)) True >>>isinstance(lst, (int, str, list)) True
3. issubclass(class, classinfo)
Return true if class is a subclass (direct, indirect or virtual) of classinfo. A class is considered a subclass of itself. classinfo may be a tuple of class objects, in which case every entry in classinfo will be checked. In any other case, a TypeError exception is raised.
Changed in version 2.3: Support for a tuple of type information was added.
一个类被认为是它本身的子类
classinfo 可以是一个元组
若出错,会抛出 TypeError 异常