Python 从主节点的继承类访问方法
这是我的代码:Python 从主节点的继承类访问方法,python,class,oop,inheritance,methods,Python,Class,Oop,Inheritance,Methods,这是我的代码: class Asignaturas(object): def __init__(self,asignatura): self.asignatura = asignatura class Mate(Asignaturas): def mcm(self,num1,num2): print("estoy en el mcm\n") if(num1>num2): x = num
class Asignaturas(object):
def __init__(self,asignatura):
self.asignatura = asignatura
class Mate(Asignaturas):
def mcm(self,num1,num2):
print("estoy en el mcm\n")
if(num1>num2):
x = num1
else:
x = num2
while(True):
if((x % num1 == 0) and (x % num2 ==0)):
mcm = x
break
x = x+1
print("aqui dentro del mcm\n")
print(mcm)
return mcm
if __name__ == "__main__":
x = int(input("que asignatura quieres ver? 1.
Matematica 2.LEnguaje 3.Artes\n"))
if (x==1):
y = int(input("quieres saber> 1.mcm o
2.potencia\n"))
if(y==1):
num1 = int(input("ingresa un numero:\n"))
num2 = int(input("ingresa otro numero:"))
mcm = Mate(num1,num2)
print(mcm)
print("el mcm es:",mcm)
所以我试图做的是从类Mate访问方法mcm,也就是从另一个类Asignaturas访问一个类。我试图从main调用它,但它给了我以下错误:
Traceback (most recent call last):
File "huesos2.py", line 28, in <module>
**mcm = Mate(num1,num2)**
TypeError: __init__() takes 2 positional arguments but 3 were given
回溯(最近一次呼叫最后一次):
文件“huesos.py”,第28行,在
**mcm=配合(num1,num2)**
TypeError:\uuuu init\uuuuuu()接受2个位置参数,但给出了3个
您必须首先从Asignaturas调用init()函数来初始化Mate对象。
请注意,它需要1个参数def\uuuu init\uuuu(self,asignatura):
(您不必关心self
)
然后你得到一个物体。您可以使用2个号码将mcm调用到此对象
因此,您的代码必须如下所示:
mate = Mate(asignatura)
mate.mcm(num1, num2)
买为什么你要传递num1,num2,而它只期望asignatura?事实上,我根本看不出你想在这里做什么。为什么
mcm
是类中的一个方法?Mate课程有什么意义?为什么mcm
不只是一个独立的函数,你可以自己调用它?我把num1,num2传递给另一个同学,而不是传递给另一个同学Asignatura。这只是学校的作业,我需要在继承类中包含一个方法,所以Mate来自AsignaturasIm抱歉,我只是从python开始,我应该在哪里以及为什么定义:mate=mate(asignatura)这是面向对象的编程。每次有一个类时,在使用该类之前,首先需要初始化一个对象。但我认为你应该在谷歌上搜索类似“面向对象编程初学者”的东西,这样你就能得到比我更好的资源。