下列代码中,执行 d1.work() 和 d2.work() 输出不同结果的主要原因是
class Device:
def work(self):
print("Device is working")
class Printer(Device):
def work(self):
print("Printer is printing")
class Scanner(Device):
def work(self):
print("Scanner is scanning")
if __name__ == '__main__':
d1 = Printer()
d2 = Scanner()
d1.work()
d2.work()
Printer 和 Scanner 使用了相同的构造函数
子类重写了父类的 work 方法,Python会根据对象实际类型调用对应版本的方法
d1 和 d2 是不同的变量
程序中使用了 del 释放对象