python issubclass 和 isinstance函数

Python issubclass() 函数

issubclass() 方法用于判断参数 class 是否是类型参数 classinfo 的子类。
语法:
issubclass(class, classinfo)
参数
class -- 类。
classinfo -- 类。

返回值
如果 class 是 classinfo 的子类返回 True,否则返回 False。

例子:
#!/usr/bin/python
# -*- coding: UTF-8 -*-

class A:
    pass
class B(A):
    pass

print(issubclass(B,A))    # 返回 True

Python isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

语法:
isinstance(object, classinfo)

参数
object -- 实例对象。
classinfo -- 可以是直接或间接类名、基本类型或者由它们组成的元组。

返回值
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。

例子:
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True

type() 与 isinstance()区别:
class A:
    pass

class B(A):
    pass

isinstance(A(), A)    # returns True
type(A()) == A        # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

原文地址:https://www.cnblogs.com/nyist-xsk/p/9336701.html

时间: 2024-08-25 21:02:59

python issubclass 和 isinstance函数的相关文章

python 类型判断-- isinstance函数

判断类型 函数isinstance()可以判断一个变量的类型,既可以用在Python内置的数据类型如str.list.dict,也可以用在我们自定义的类,它们本质上都是数据类型. 假设有如下的 Person.Student 和 Teacher 的定义及继承关系如下: class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender class Student(Person):

Python中的isinstance函数

isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True.如果object不是一个给定类型的的对象, 则返回结果总是False. 如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由数据类型构成的)元组.其他的序列类型是不被允许的. 如果classinfo不是一种数据

Python isinstance函数 raise

今天看了下廖雪峰的网站,发现有个isinstance函数可以对参数类型进行判断: 对参数类型做检查,只允许整数和浮点数类型的参数.数据类型检查可以用内置函数isinstance实现: def my_abs(x):     if not isinstance(x, (int, float)):         raise TypeError('bad operand type')     if x >= 0:         return x     else:         return -x

绑定与非绑定方法及反射,isinstance和issubclass内置函数

目录 绑定方法与非绑定方法 1.绑定方法 2.非绑定方法(staticmethod) isinstance和issubclass 内置函数 1.isinstance 2.issubclass 反射 反射定义 4个可以实现反省的函数(内置函数) 反射使用场景 绑定方法与非绑定方法 1.绑定方法 ? 绑定方法:绑定给谁就应该由谁来调用,谁来调用就会将谁当做第一个参数传入 ? ? 绑定给对象的方法: ? 类中定义的函数默认就是绑定给对象的 ? 绑定给类的方法: ? 为类中定义的函数加上一个装饰器cla

python isinstance函数(21)

1. 简介 isinstance() 函数是 python 中的一个内置函数,主要用于检测变量类型,返回值是bool值 ,在python内置函数中,与该函数相似的还有另外一个内置函数  type(). 2.语法 isinstance(object,classinfo) 参数: object : 实例对象. classinfo : 可以是直接或者间接类名.基本类型或者由它们组成的元组. 返回值:如果对象的类型与classinfo类型相同则返回 True,否则返回 False. a = 2 isin

Python isinstance() 函数 Python 内置函数 Python 内置函数

描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关系. isinstance() 会认为子类是一种父类类型,考虑继承关系. 如果要判断两个类型是否相同推荐使用 isinstance(). 语法 以下是 isinstance() 方法的语法: isinstance(object, classinfo) 参数 object -- 实例对象. class

python isinstance()函数

参考: http://www.runoob.com/python/python-func-isinstance.html isinstance 用来判断一个对象是否是一个已知的类型. 用法: isinstance(object, classinfo) 参数: object--实例对象, classinfo--可以是直接类名,基本类型或者由它们组成的元组 >>>a = 2 >>> isinstance (a,int) True >>> isinstanc

【Python】内置函数清单

Python内置(built-in)函数随着python解释器的运行而创建.在Python的程序中,你可以随时调用这些函数,不需要定义.最常见的内置函数是: print("Hello World!") 在Python教程中,我们已经提到下面一些内置函数: 基本数据类型 type() 反过头来看看 dir() help() len() 词典 len() 文本文件的输入输出 open() 循环设计 range() enumerate() zip() 循环对象 iter() 函数对象 map

Pytthon:type函数和 isinstance 函数及区别

Python中,type和isinstance都可以进行类型检查,用的最多的就是type()了(其实我是一直用type()).内建函数type(object)用于返回当前对象的类型,比如type(1)返回<type 'int'>.因此可以通过与python自带模块types中所定义的名称进行比较,根据其返回值确定变量类型是否符合要求.例如判读一个变量a是不是list类型,可以使用以下代码: if type(a) is types.ListType: 所有的基本类型对应的名称都可以在types模