最新公告
  • 欢迎您光临站盟网(原知事网),一个优质的网站源码基地、精品网站模板和插件。欢迎加入永久SVIP
  • 如何理解Python3中的子类和父类?

    正文概述 知事网   2020-11-16 11:11   349

    我们讲过了一些子类继承父类的案例,不过有的小伙伴跟小编反映分不清子类和父类,用的时候容易出错。小编看了一下,确实容易混淆,还是要明确两者的关系。为此小编整理了一些子类和父类关系对比的示例,希望小伙伴们能在运行代码的过程中,找到两者明确的区别。

    先来看一段代码:

    class Animal(object):
       pass
     
    class Cat(Animal):
       pass
     
    A= Animal()
    C = Cat()

    子类与父类的关系是 “is” 的关系,如上 Cat 继承于 Animal 类,我们可以说:

    “A”是 Animal 类的实例,但,“A”不是 Cat 类的实例。

    “C”是 Animal 类的实例,“C”也是 Cat 类的实例。

    判断对象之间的关系,我们可以通过 isinstance (变量,类型) 来进行判断:

    print('"A" IS Animal?', isinstance(A, Animal))
    print('"A" IS Cat?', isinstance(A, Cat))
    print('"C" IS Animal?', isinstance(C, Animal))
    print('"C" IS Cat?', isinstance(C, Cat))

    输出结果:

    "A" IS Animal? True
    "A" IS Cat? False
    "C" IS Animal? True
    "C" IS Cat? True

    拓展:isinstance() 判断变量类型

    函数 isinstance() 不止可以用在我们自定义的类,也可以判断一个变量的类型,如判断数据类型是否为 int、str、list、dict 等。

    print(isinstance('100', int))
    print(isinstance(100, str))
    print(isinstance('100', str))

    输出:

    True
    False
    False
    True

    相信看了以上的示例,小伙伴能够明确子类与父类的关系了,小编也为大家开心。这样下次在子类继承父类的时候,小伙伴们也不会弄错,分不清两者的关系。

    转载自:python学习网 https://www.py.cn/


    站盟网 » 如何理解Python3中的子类和父类?

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者
    请选择支付方式
    ×
    支付宝支付
    微信支付
    余额支付
    ×
    微信扫码支付 0 元