【发布时间】:2018-08-19 14:50:43
【问题描述】:
这是我的代码:
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
【问题讨论】:
-
买你为什么要通过
num1,num2而它只期待asignatura? -
实际上,我根本看不出您在这里要做什么。为什么
mcm是类中的方法? Mate类的意义何在?为什么mcm不只是一个可以单独调用的独立函数? -
我将 num1,num2 传递给另一个类 Mate,而不是 Asignaturas 类
-
这只是学校的作业,我需要在继承类中包含一个方法,所以 Mate 来自 Asignaturas
标签: python class oop inheritance methods