Python 中的类型和 isinstance

pythonserver side programmingprogramming更新于 2025/10/24 14:36:17

在本文中,我们将了解 Python 3.x 或更早版本中可用的 isinstance() 和 type() 函数。这些方法主要用于检查实体的引用和性质。

Isinstance() 方法

语法

isinstance(object_entity, Comparison_equivalent)

返回值 − 如果 object_entity 与 Comparison_equivalent 匹配,则为 True

现在让我们看看 isinstance() 方法是如何工作的?

示例

class Test:
   var = 786
   TestInstance = Test()
print(isinstance(TestInstance, Test))
print(isinstance(TestInstance, (list, tuple)))
print(isinstance(TestInstance, (list, tuple, Test)))

输出

True
False
True

第一行和第三行显示 true,因为 Test 和 TestInstance 的引用匹配。而第二行显示 False,因为 TestInstance 的引用与 list 和 不匹配元组引用。

让我们看另一个例子来更好地理解。

示例

Test= [1, 2, 3]
result = isinstance(Test, list)
print(Test,'list:', result)
result = isinstance(Test, dict)
print(Test,'dict:', result)
result = isinstance(Test, (dict, list))
print(Test,'dict or list:', result)

输出

[1, 2, 3] list: True
[1, 2, 3] dict: False
[1, 2, 3] dict or list: True

此处每当 Test 匹配时列表实例 True 显示在屏幕上,否则为 False。

Type() 方法

语法

type(entity)

返回值 −作为参数传递的实体的类型

现在让我们看看 type() 方法是如何工作的?

示例

Dictinp = {1:'Tutorial', 2:'Point'}
print(type(Dictinp))
Listinp = ['t','u','t']
print(type(Listinp))
Tupleinp = ('Tut', 'orial', 'Point')
print(type(Tupleinp))

输出

<class 'dict'>
<class 'list'>
<class 'tuple'>

此处的输出包含方法调用期间传递的实体的受尊重类型。此类型还可用于比较和其他条件语句。

现在让我们看一个条件语句的示例

示例

Listinp = ['t','u','t']
Tupleinp = ('Tut', 'orial', 'Point')
if type(Listinp) is not type(Tupleinp):
   print("Type mismatch")
else:
   print("TYpe match")

输出

类型不匹配

此处类型不匹配显示为列表和元组是两种不同的数据类型。

结论

在本文中,我们学习了 Python 3.x 中 type() 和 isinstance() 方法的实现。或更早版本。


相关文章


有用资源