isinstance函数
时间: 2023-06-16 18:05:44 浏览: 83
`isinstance` 是 Python 内置函数之一,用于检查一个对象是否是某个类或其子类的实例。它的语法为:
```python
isinstance(object, classinfo)
```
其中,`object` 是要检查的对象,`classinfo` 可以是一个类或一个由类对象组成的元组。如果 `object` 是 `classinfo` 类或其子类的实例,则返回 `True`,否则返回 `False`。下面是一个简单的例子:
```python
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` 是 `A` 类的实例,`b` 是 `B` 类的实例,因为 `B` 是 `A` 的子类,所以 `b` 也是 `A` 类的实例。因此,`isinstance(a, A)` 和 `isinstance(b, A)` 都返回 `True`。而 `isinstance(a, B)` 返回 `False`,因为 `a` 不是 `B` 类或其子类的实例。`isinstance(b, B)` 返回 `True`,因为 `b` 是 `B` 类的实例。
相关问题
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))
python中isinstance函数
可以用来判断一个对象是否是指定类或其子类的实例。其语法为:
```python
isinstance(object, classinfo)
```
其中,`object`是要判断的对象,`classinfo`可以是一个类或一个由类组成的元组,用于指定要判断的类或其子类。如果`object`是`classinfo`的一个实例或者`classinfo`中任意一个类的子类的实例,则返回`True`,否则返回`False`。
阅读全文