isinstance()函数
时间: 2023-10-26 14:16:34 浏览: 29
isinstance()函数是Python内置函数之一,其作用是判断一个对象是否为指定类或其子类的实例。该函数的语法为:
```
isinstance(object, classinfo)
```
其中,第一个参数object是待判断的对象,第二个参数classinfo可以是一个类对象或一个由类对象组成的元组。如果object是classinfo类或其子类的实例,则返回True,否则返回False。
举个例子:
```
class A:
pass
class B(A):
pass
a = A()
b = B()
print(isinstance(a, A)) # True
print(isinstance(b, A)) # True
print(isinstance(a, B)) # False
print(isinstance(b, B)) # True
```
在上述例子中,我们定义了两个类A和B,其中B是A的子类。然后我们分别创建了一个A类的实例a和一个B类的实例b,通过isinstance()函数来判断它们是否是A类或B类的实例。最后的输出结果表明,a是A类的实例,b既是A类的实例也是B类的实例。
相关问题
isinstance函数
isinstance函数是Python中的一个内置函数,用于判断一个对象是否属于某个特定的类或子类。它的语法格式为:
```python
isinstance(object, classinfo)
```
其中,object是要判断的对象,classinfo可以是一个类或者由多个类对象组成的元组。如果object是classinfo的一个实例或者是其子类的实例,则返回True,否则返回False。下面是一个示例:
```python
class Animal:
pass
class Dog(Animal):
pass
dog = Dog() # 创建一个Dog类的实例对象
print(isinstance(dog, Dog)) # True,dog是Dog类的实例
print(isinstance(dog, Animal)) # True,Dog是Animal类的子类,所以dog也是Animal类的实例
print(isinstance(dog, int)) # False,dog不是int类的实例
```
在上面的示例中,我们创建了一个Animal类和一个Dog类,并将Dog类定义为Animal类的子类。然后我们创建了一个Dog类的实例dog,并使用isinstance函数分别判断dog是否为Dog类、Animal类或int类的实例。最终的输出结果表明,dog是Dog类和Animal类的实例,但不是int类的实例。
python isinstance函数
`isinstance()` 函数是 Python 中用于检测一个对象是否是一个已知的类型的函数。
语法:
```
isinstance(object, classinfo)
```
参数说明:
- `object`:需要检测的对象
- `classinfo`:class, type, 元组中的类型, 元组中可以放类,可以放类型
返回值:如果对象是类型或者类型的子类,则返回 True,否则返回 False。
例子:
```
x = [1, 2, 3]
y = (1, 2, 3)
z = "hello"
print(isinstance(x, list))
print(isinstance(y, tuple))
print(isinstance(z, str))
```
输出:
```
True
True
True
```
注意: isinstance 只能用于类型检测,不能用于检测对象是否有特定属性。
例如 : isinstance(obj, str) 不能用来检测 obj 是否可以 .lower(),而应该使用 callable(getattr(obj, 'lower', None))
阅读全文