class a():
def __init__(self):
print("hello")
def add(self,a,b):
print("c = {}".format(self.a+self.b))
class b(a):
def __init__(self):
a.__init__(self)
h = b()
h.add(2,3)
请告诉我我的错误代码不起作用
错误回溯(最近一次调用最近):文件“ Inheritance.py”,第10行,在 h.add(2,3)文件“ Inheritance.py”,第5行,添加 print(“ c = {}”。format(self.a + self.b))AttributeError:'b'对象没有属性'a'
答案 0 :(得分:0)
当您定义class B
时,将其定义为class B(A)
,它将继承class A
的所有内容,还请注意,{实例已创建。
*使用def _init_(self)
打印,对python3.6 +有效,否则请使用原始打印方法
f-strings
输出:
class A(): def __init__(self): print("hello") def add(self, a, b): print(f"c = {a + b}") class B(A): pass h = B() h.add(2,3)
如果您想创建变量(xenial)vash@localhost:~/python/stack_overflow$ python3.7 inherit.py
hello c = 5
和h.a
,则可以采用以下方法:
h.b
输出:
class A(): def __init__(self, a, b): print("hello") self.a = a self.b = b def add(self): print(f"c = {self.a + self.b}") class B(A): pass h = B(2, 3) print(h.a) print(h.b) h.add()