技术文章 > Python技术 > Python基础 > 正文

如何理解Python3中的子类和父类?

小妮浅浅

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


先来看一段代码:

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学习网,转载请注明出处,感谢您的尊重!
相关文章
 介绍几款Python类型检查工具
 python类对象和实例对象是一样的吗
 java和python类似吗
 python类可以传递参数吗
相关视频章节
 Python类方法中的可用变量
推荐视频
视频教程分类