python - Python isinstance 返回 false。自定义类
问题描述
我已经编写了以下代码。
class Mammal:
def info():
return 'I have fur on my body.'
def identity_mammal():
print('I am a mammal')
class Primate(Mammal):
def info():
return Mammal.info() + ' I have a large brain.'
def identity_primate():
print('I am a primate')
class Ape(Primate):
def info():
return Primate.info() + ' I am monkey oooh oooh aaah aaah.'
def identity_ape():
print('I am an ape')
class Human(Primate):
def info():
return Primate.info() + ' I am human, me bipedal SMART monkey'
def identity_human():
print('I am a human')
John = Human
print(isinstance(John, Mammal))
print(isinstance(John, Primate))
print(isinstance(John, Human))
print(isinstance(John, Ape))
这是一个关于继承的简单任务,但是当我使用 isinstance 函数时,我刚刚创建的 Human 实例似乎不是人类
[iveris@ic-rh7mnifi-105 oblig44]$ python3 inheritance.py
False
False
False
False
解决方案
要创建实例,您需要使用括号:
John = Human()
print(isinstance(John, Mammal))
print(isinstance(John, Primate))
print(isinstance(John, Human))
print(isinstance(John, Ape))
推荐阅读
- mysql - 2 count(*)+group by+have+join
- c# - 将传入的 Excel 类型更改为字符串
- git - Jenkins 在尝试从 Bitbucket 结帐时删除了工作区
- session - Laravel + Nginx。会话被随机访问
- bash - 如何从带有保留空格的管道(|)分隔文件中读取字段
- json - 如何连接来自不同 nosql 集合的两个数组?
- printing - 根据列值在每一页上打印标题 - 数据表
- parsing - 有没有办法在宏中实现可选表达式?
- javascript - 从 angularfirestoreCollection 创建一个字符串
- spring - 管理会话 JSF 2.3 CDI