Python程序中的type和isinstance


在本教程中,我们将学习Python的内置函数`type`和`isinstance`。这些函数用于确定对象的类型。让我们一一来看。

type(object)

type用于了解对象的类型。例如,如果我们有一个值为5的对象val,则该对象的类型为int。我们可以使用type函数获得它。让我们按照一般的步骤来实现结果。

  • 初始化对象。
  • 使用type(object)函数获取对象的类型。
  • 显示类型。

下面是一个解释type(object)函数的示例。

示例

# initialzing an object
val = 5
# getting type of the object
object_type = type(val)
# displaying the type
print(object_type)

输出

如果运行上面的程序,您将得到以下结果。

<class 'int'>

isinstance(object, class)

isinstance(object, class)接受两个参数,第一个是object,第二个是class。如果对象是给定class的子类,则返回True,否则返回False。例如,如果我们取一个值为{1, 2, 3}的对象nums,则将其和类set传递给isinstance将返回True。按照以下步骤检查它。

  • 初始化对象。
  • 使用对象和类调用isinstance(object, class)

让我们来看一个例子。

示例

# initializing the object
nums = {1, 2, 3}
# invoking the isinstance(object, class) function
print(isinstance(nums, set))

输出

如果运行上面的程序,您将得到以下结果。

True

因此,isinstance函数也检查子类的类型。如果它返回True,则该对象属于给定类的类型。我们也可以将其用于自定义类。让我们来看一个例子。

示例

# wrinting a class
class SampleClass:
   # constructor
   def __init__(self):
      self.sample = 5
# creating an instance of the class SampleClass
sample_class = SampleClass()
# accessing the sample class variable
print(sample_class.sample)
# invoking the isinstance(object, class) function
print(isinstance(sample_class, SampleClass))

输出

如果运行上面的程序,您将得到以下结果。

5
True

结论

根据您的需要使用这些函数。两者对于检测对象的类型都非常方便。如果您在学习本教程时遇到任何问题,请在评论区提出。

更新于:2019年11月1日

浏览量:127

开启您的职业生涯

完成课程获得认证

开始学习
广告