职业经验 两道笔试题分享,大家都来做一下。

大海 · 2022年01月05日 · 最后由 rhyme 回复于 2022年01月05日 · 4617 次阅读

第一道题目

请直接写出结果,不允许百度搜索和运行代码。

class A:
    def get(self):
        self.say()

    def say(self):
        print('AAAAA')

class B(A):
    def say(self):
        print('BBBBB')

b = B()
b.get() 

第二道题目

请直接写出结果,不允许百度搜索和运行代码。

class A(object):
    pass
class B(A):
    pass

print(isinstance(A(), A))
print(isinstance(B(), A))
print(type(A()) == A)
print(type(B()) == A)
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 6 条回复 时间 点赞

测开笔试题?

True
True
True
False

1、BBBBB

B 类继承自 A 类,实例化 B 类后,调用 get 方法,父类中的方法会优先被执行,再执行子类中的同名方法,父类的方法会被覆盖。

2、isinstance() 考虑继承关系;type() 不考虑继承关系。

print(isinstance(A(), A))  # True
print(isinstance(B(), A))  # True
print(type(A()) == A)  # True
print(type(B()) == A)  # False
5楼 已删除
ABEE 回复

解答的真好

第一题 OK,第二题还真有点含糊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册