下面代码,子类实例化时必须输入4个参数,是传递给父类吗?我发现无论前三个
参数是什么,都不影响输出结果。可以解释一下吗?
class computer():
def __init__(self,cpu,memory,monitor):
self.cpu='intel'
self.memory='samsung'
self.monitor='boe'
class lenovo(computer):
def __init__(self,cpu,memory,monitor,price):
super().__init__(cpu,memory,monitor)
self.price=price
z=lenovo(1,2,3,'3999元')
print(z.cpu)
print(z.memory)
print(z.monitor)
print(z.price)
同样的情况,请看下面代码,子类实例化时必须输入4个参数,是传递给父类吗?我发现输入什么参数,就输出什么参数。可以解释一下吗?
class computer():
def __init__(self,cpu,memory,monitor):
self.cpu=cpu
self.memory=memory
self.monitor=monitor
class lenovo(computer):
def __init__(self,cpu,memory,monitor,price):
super().__init__(cpu,memory,monitor)
self.price=price
z=lenovo('intel','samsung','boe','3999元')
print(z.cpu)
print(z.memory)
print(z.monitor)
print(z.price)
谢谢!
第一个例子中的
init函数虽然传入了三个参数,但是这个参数并没有被用上如下:
也就是说,不管你传什么值,都不影响结果 cpu='intel' memory='samsung' monitor='boe'的结果。
第二个例子中的init函数
函数接收了初始化函数传递进来的值,也就是说cpu memory monitor 会根据你的初始化函数传入值的不同而改变。