python中isinstance怎么用
时间: 2023-12-25 07:04:58 浏览: 76
`isinstance()` 是Python内置的函数,用于判断一个对象是否是某个类或其子类的实例。它的语法格式如下:
```
isinstance(object, classinfo)
```
其中,`object` 是要判断的对象,`classinfo` 可以是一个类或一个由类组成的元组(即判断 `object` 是否是这些类中的一个实例)。
例如,判断一个对象 `obj` 是否是 `int` 类型的实例,可以这样写:
```python
if isinstance(obj, int):
print("obj is an integer")
else:
print("obj is not an integer")
```
也可以同时判断一个对象是否是多个类中的某一个实例,例如:
```python
if isinstance(obj, (str, int, list)):
print("obj is an instance of str, int or list")
else:
print("obj is not an instance of str, int or list")
```
相关问题
python 中 isinstance 使用案例
示例1:
```
a = 5
b = "hello"
print(isinstance(a, int))
print(isinstance(b, int))
```
输出:
```
True
False
```
解释:
- `a` 是一个整数,因此 `isinstance(a, int)` 返回 `True`。
- `b` 是一个字符串,而不是整数,因此 `isinstance(b, int)` 返回 `False`。
示例2:
```
class Animal:
def __init__(self, name):
self.name = name
class Dog(Animal):
def bark(self):
print("Woof!")
class Cat(Animal):
def meow(self):
print("Meow!")
d = Dog("Rover")
c = Cat("Fluffy")
print(isinstance(d, Dog))
print(isinstance(c, Dog))
print(isinstance(d, Animal))
print(isinstance(c, Animal))
```
输出:
```
True
False
True
True
```
解释:
- `d` 是一个 `Dog` 对象,因此 `isinstance(d, Dog)` 返回 `True`。
- `c` 是一个 `Cat` 对象,而不是 `Dog` 对象,因此 `isinstance(c, Dog)` 返回 `False`。
- `d` 是一个 `Dog` 对象,同时也是 `Animal` 对象,因此 `isinstance(d, Animal)` 返回 `True`。
- `c` 是一个 `Cat` 对象,同时也是 `Animal` 对象,因此 `isinstance(c, Animal)` 返回 `True`。
python中isinstance
在Python中,`isinstance()`是一个内置函数,用于检查一个对象是否属于指定的类或类型。它的语法如下:
```python
isinstance(object, classinfo)
```
其中,`object`是要检查的对象,`classinfo`可以是类、类型或由类或类型组成的元组。
`isinstance()`函数返回一个布尔值,如果对象是指定类或类型的实例,则返回`True`,否则返回`False`。
下面是一些示例:
```python
# 检查整数是否属于int类
print(isinstance(5, int)) # 输出: True
# 检查字符串是否属于str类或object类
print(isinstance("hello", (str, object))) # 输出: True
# 检查列表是否属于list类或tuple类
print(isinstance([1, 2, 3], (list, tuple))) # 输出: True
# 检查字典是否属于dict类
print(isinstance({"name": "Alice"}, dict)) # 输出: True
# 检查函数是否属于函数类型
def my_function():
pass
print(isinstance(my_function, type(my_function))) # 输出: True
```
请注意,`isinstance()`函数还可以用于检查对象是否属于其父类或超类。此外,还可以使用`type()`函数进行类型检查,但是`isinstance()`函数更常用,因为它支持检查多个类或类型。
希望这能解答你的问题!如果还有其他疑问,请随时提问。
阅读全文