类中的默认值
class A:def __init__(self,name):
self.name=name
class B(A):
def __init__(self,zf):
super().__init__("zfx")
self.zf=zf
ss=B(2)
ssz=ss.name
print(ssz)
上面的代码可以打印出来 zfx这个字符串
那么如果我要显示传过去的 参数 2 怎么做 先解释一下你的代码里发生了什么:
super() 可以调用父类A的方法, super().__init__("zfx")的意思是 调用A的__init__(), 传入 “zfx” , 子类因此有了父类的self参数name.
因此可以调用 ss.name得到 “zfx”. 而“zf”是在子类中定义的, 加上之前继承的参数, 子类有两个self参数, ss.name 和 ss.zf.
因此可以用ss.zf得到2 参数‘2’这个值是赋值到了类‘B’里面的zf,类‘B’有了对象后,就可以直接通过对象访问
ss.zf 这样应该就可以了 要打印传递给子类B的参数 zf ,可以在 B 类中添加一个方法来获取 zf 的值,然后调用该方法并打印结果。下面是修改后的代码:
class A:
def __init__(self, name):
self.name = name
class B(A):
def __init__(self, zf):
super().__init__("zfx")
self.zf = zf
def get_zf(self):
return self.zf
ss = B(2)
ssz = ss.name
print(ssz)
zf_value = ss.get_zf()
print(zf_value)
这样修改后,代码将首先打印 zfx 字符串,然后打印传递给子类B的参数 zf 的值,即2。
页:
[1]