千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > python中isinstance()函数的用法

python中isinstance()函数的用法

来源:千锋教育
发布人:xqq
时间: 2023-07-21 16:33:44 1689928424

一、isinstance()函数简介

Python中的内置函数isinstance()用于检查一个对象是否是一个类的实例或者是一个类的子类的实例。该函数用法非常简单,其函数原型如下:


isinstance(object, classinfo)

其中,object 表示要检查的对象,classinfo 表示要检查的类型(可以是类型名,元组(类型名))。

二、isinstance()函数的常用方法

1. 检查基本数据类型是否属于给定的数据类型

使用isinstance()函数可以判断一个变量是否属于给定的数据类型。下面是一个简单的示例,用于判断数字和字符串的数据类型:


num = 5
string = 'Hello'

# 检查num是否为int类型
if isinstance(num, int):
    print('num is an integer')

# 检查string是否为字符串类型
if isinstance(string, str):
    print('string is a string')

2. 检查自定义对象是否属于给定的类或者其子类

在构建自己的类时,可以使用isinstance()函数判断一个对象是否是该类或其子类的实例。下面是一个简单的示例,假设有一个名为Person的类,用于描述人的基本信息:


class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

# 构建Person类的子类Student
class Student(Person):
    def __init__(self, name, age, grade):
        Person.__init__(self, name, age)
        self.grade = grade

# 构建Person的实例
person = Person('Tom', 30)

# 构建Student的实例
student = Student('Jerry', 20, 'A')

# 判断person和student是否是Person类或者其子类的实例
if isinstance(person, Person):
    print('person is an instance of Person class')

if isinstance(student, Person):
    print('student is an instance of Person class')

if isinstance(student, Student):
    print('student is an instance of Student class')

3. 检查对象是否属于给定的类型之一

有时候需要判断一个对象是否属于给定的多个类型之一,这时候可以使用元组将多种类型传入isinstance()函数中。下面是一个简单的示例,假设要判断一个数值是否为整数或者浮点数:


num1 = 5
num2 = 6.8

# 判断num1和num2是否为整数或者浮点数
if isinstance(num1, (int, float)):
    print('num1 is an integer or float')

if isinstance(num2, (int, float)):
    print('num2 is an integer or float')

三、总结

isinstance()函数是Python中一个非常常用的工具,用来判断一个对象是否属于一个给定的类型或者其子类。在Python中,一切皆为对象,包括数字、字符串、列表、元组、字典、自定义对象等等,因此掌握isinstance()函数的使用方法对于代码的编写和调试都非常重要。

通过本文,我们可以了解到isinstance()函数的基本用法,并通过实例演示了如何用isinstance()函数检查基本数据类型和自定义对象是否属于给定的类型,以及如何检查对象是否属于给定的多个类型之一。希望本文能够为Python开发者提供一些参考和帮助。

tags: python教程
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT