Python进阶-----使用ininstance和issublcass方法判断类和对象的关系

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# isinstance(obj,cls)     #用于判断obj对象是否由cls这个类实例化出来的
                          #若实例化对象的类继承了父类,判断对象isintance父类也返回True
class Foo:
    def __init__(self,name):
        self.name = name

f = Foo(‘jerry‘)

print(isinstance(f,Foo))            #True

# issubclass(cls,classinfo)   #用于判断cls类是否是classinfo的子类

class Foo:
    def __init__(self,name):
        self.name = name

class Bar(Foo):
    pass
f1 = Bar(‘Jerry‘)

print(isinstance(f1,Foo))      #True
print(issubclass(Bar,Foo))     #True

原文地址:https://www.cnblogs.com/Meanwey/p/9788817.html

时间: 2024-08-05 05:46:47

Python进阶-----使用ininstance和issublcass方法判断类和对象的关系的相关文章

Map.containsKey方法——判断Map集合对象中是否包含指定的键名

该方法判断Map集合对象中是否包含指定的键名.如果Map集合中包含指定的键名,则返回true,否则返回false. public static void main(String[] args) { Map map = new HashMap(); //定义Map对象 map.put("apple", "新鲜的苹果"); //向集合中添加对象 map.put("computer", "配置优良的计算机"); map.put(&q

Python的实例定属性和方法或类绑定方法

一.给实例对象绑定属性和方法:1.给实例绑定属性:先定义一个Student类 #!/usr/bin/python class Student(object): pass 然后绑定属性: s = Student() s.name = 'AAA' # 动态给实例绑定一个属性 print(s.name)#输出AAA 2.给实例绑定方法:先定义一个方法 def add(self,a,b): self.a = a self.b = b return self.a +self.b 然后绑定方法: Metho

Java判断类和实例的关系

?? 通常我们使用instanceOf关键字来判断一个对象是否是类的实例,最近博主看到isInstance关键字,不解与instanceOf的区别,故度娘了一下,顺便涨了一下姿势. ?? Java中判断类和实例的关系有3个关键字:instanceof, isInstance以及isAssignableFrom. instanceof:用来判断对象是否是类的实例 isInstance:用来判断对象是否属于某个类型的实例 isAssignableFrom:用来判断类型间是否存在派生关系 ??看完上面

Java编译时根据调用该方法的类或对象所属的类决定

class Base{ ????int x = 1; ????static int y = 2; } class Subclass extends Base{ ????int x = 4; ????int y = 5; } public class Test02{ ????public static void main(String[] args){ ????????Subclass s = new Subclass(); ????????System.out.println(s.x+" &qu

Python进阶(迭代,函数式编程,Collections类)

PYTHON进阶 PYTHON迭代 @生成器(Generator) 列表生成器产生的列表很占用内存空间,我们每次在计算使用的时候都是对单个元素进行操作,这样其它元素占用的空间就白白浪费了.所以如果列表内的元素可以按照某种算法推算出来,这样我们就可以在循环过程中不断的推算下一个元素(一次只推算一个),从而避免创建完整的列表而占用大量内存. 在Python中我们把一边循环一边计算的机制称为生成器:generator. 生成器创建的语法 列表生成器中括号[]包裹改为小括号()包裹 # 列表生成器 da

(一)Python入门-6面向对象编程:02类的定义-类和对象的关系-构造函数-实例属性-实例方法

一:类的定义 如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”. 我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”. 对象是类的具体实体,一般称为“类的实例”.类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”. 从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但会有自己的属 性值(不共享状态).更具体一点:“方法代码是共享的,属性数据不共享”. Python中,“一切皆对象”.类也称为“类对象”,类的实例也称为“

python基础-第七篇-7.1初识类和对象

创建类和对象 刚开始我们接触得多的编程方式为面向过程编程,这种方式就是根据业务逻辑从上往下垒代码,后来又出现了函数式编程,就是为了提高代码的重用性,减轻程序猿的工作量--而今天我们即将学的 面向对象编程则是使用类和对象来实现的,类就是一个模板,模板里可以包含多个函数,函数里实现一些功能 对象则是根据模板创建的实例,通过实例对象可以执行类中的函数 class是关键字,表示类 创建对象--类名称后加括号 #创建类 class foo: def bar(self): print('bar') def

oc基础第一天---类的方法,类与对象

1. 如何为类定义行为. 刚刚我们聊的是如何为类定义特征. 如何定义行为? 行为就事1个功能 也就事1个函数. OC中把行为叫做方法. 实际上和函数是一样的 代表1个功能模块. 2. 为类定义无参数的方法. 类的方法也分为两个部分. a. 方法的声明 1). 位置: 写在声明类的大括弧的外边. 2). 声明的语法: - (返回值类型)方法名; - (void)sayHi; 这个方法的名字就叫做sayHi; b. 方法的实现. 1). 位置: 写在类的实现之中. 2). 实现的语法: - (返回值

call(),apply()方法和类数组对象arguments

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 <script type="text/javascript"> 7 /* 8 call(),apply() 9 这两个方法都是函数对象的方法,需要通过函数对象来调用 10 当对函数调用call()和apply()都会调用函数