python补漏----isinstance 和 issubclass

一、isinstance

Python 中的isinstance函数

isinstance是Python中的一个内建函数

语法:

isinstance(object, classinfo)

如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False。

1 class Person(object):
2     pass
3
4 obj = Person()
5
6 a = isinstance(obj, Person)7 print a

1 k1 = 10
2
3 k = isinstance(k1 ,int)4 print k

二、issubclass


语法:issubclass(sub, super)

检查sub类是否是 super 类的派生类

1 class A:
2     pass
3 class B(A):
4     pass
5
6 print issubclass(B,A)

B是A类的子类, 返回True。否则返回False

时间: 2024-12-11 11:13:03

python补漏----isinstance 和 issubclass的相关文章

isinstance 与 issubclass

isinstance与issubclass都是用于判断的,有什么区别呢? 1. isinstance字面意思:实列, 用户判断对象所属类型,包含类的继承关系. 2. issubclass字面理解:是子类. 用来判断类与类之间的关系, 含继承关系 列: class A: pass class B(A): pass b= B() print( isinstance(b,B))   结果为True print( isinstance(b,A))   结果为True print( issubclass(

27 isinstance与issubclass、反射、内置方法

isinstance与issubclass issubclass:判断子类是否属于父类,是则返回True,否则返回False isinstance:判断对象是否属于类,是则返回True,否则返回False class Bar: pass class Foo(Bar): pass print(issubclass(Foo,Bar))#输出一个True obj=Foo() print(isinstance(obj,Foo))#输出一个True 反射 反射:通过字符串来反射/映射到对象/类的属性上 c

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

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

python ==》 面向对象的反射,(isinstance and issubclass)

1.staticmethod:(静态方法) 静态方法:让类里的方法直接被类调用,就像正常的函数一样. class Staticmethod_Demo(): role = 'Aray' @staticmethod def func(): print('当普通方法用') Staticmethod_Demo.func() 输出结果: 当普通方法用 2.classmethod:(类方法) 类方法:默认参数为:cls  ,可以直接用类名调用,可以与类属性交互. class Classmethod_Demo

python isinstance和issubclass区别

一.issubclass 判断两个类是否是同个类,或者有继承关系.只能判断类不能判断实例 class A: pass class B(A): pass print(issubclass(B,A)) print(issubclass(A,A)) 二.isinstance 用于判断一个实例是否为一个类或者子类的实例. class A: pass class B(A): pass a = A() b = B() print(isinstance(a,A)) print(isinstance(b,A))

内置函数isinstance和issubclass介绍和异常处理讲解

一.isinstance(obj,cls)检查obj是否是cls的对象 当程序依赖用户输入,即对用户输入的内容进行分门别类的操作时就用isinstance>>> n1=10>>> n2=9>>> print isinstance(n1,int)True>>> print isinstance(n1,str)False>>> 判断n1是否是int类创建,是返回True,否返回Falseisinstance第2个参数可以

isinstance 和 issubclass

isinstance(obj,cls):检查obj是不是cls的对象(传两个参数,一个是对象,一个是类) issubclass(sub,super):检查sub是不是super的子类(传两个参数,一个是子类,一个是父类) #!/usr/bin/env python # -*- coding:utf-8 -*- print(isinstance(1,int)) #True #判断 1 是不是int类型 class Foo: pass class Son(Foo): pass s = Son() p

【python】【转】python中isinstance判断变量类型用法

来源 http://www.jb51.net/article/15696.htm 在Python中只需要使用内置的函数isinstance,使用起来非常简单,比如下面的例子: 复制代码 代码如下: class objA: pass A = objA() B = 'a','v' C = 'a string' print isinstance(A, objA) print isinstance(B, tuple) print isinstance(C, basestring) 输出结果: True

内置函数isinstance和issubclass

1. isinstance(obj,class) 判断对象obj是不是由class生成的对象. class Foo: pass obj=Foo() print(isinstance(obj,Foo)) obj是Foo的生成的对象,返回True.如果不是,则返回False. d={'x':1} #d=dict({'x':1} #) print(type(d) is dict) print(isinstance(d,dict))# 判断对象d是不是类dict生成的 issubclass() 2.is