LLamada de clases desde otro fichero
Publicado por juan (2 intervenciones) el 06/03/2019 19:16:24
hola a tod@s
soy nuevo en python y he creado una clase a la cual quiero llamar desde otro fichero de mi proyecto pycharm con el siguiente codigo
compruebo lo que me hace :
/usr/bin/python3.6 /home/pc/PycharmProjects/dia1/venv/main.py
5.0
3
['/home/pc/PycharmProjects/dia1/venv', '/home/pc/PycharmProjects/dia1', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/home/pc/PycharmProjects/dia1/venv/Calculadora.py']
por otro lado lo quiero llamar en main.py con el siguiente codigo
no veo por que no puedo llamr a la clase Calculadora devolviendome el siguiente fallo
Traceback (most recent call last):
File "/home/pc/PycharmProjects/dia1/venv/main.py", line 2, in <module>
print (Calculadora.divide(2, 2))
AttributeError: module 'Calculadora' has no attribute 'divide'
Process finished with exit code 1
¿alguien sabe que puedo estar haciendo mal?
adjunto el proyecto de prueba
muchas gracias a tod@s
soy nuevo en python y he creado una clase a la cual quiero llamar desde otro fichero de mi proyecto pycharm con el siguiente codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
class Calculadora:
def __init__(self, a, b):
self.a = a
self.b = b
def suma(self):
return str(self.a + self.b)
def resta(a, b):
return str(a - b)
def multiplica(self):
return str(self.a * self.b)
@staticmethod
def divide(a, b):
return str(a / b)
print(Calculadora.divide(10, 2))
obj = Calculadora
print(obj.resta(5, 2))
import sys
print(sys.path)
sys.path.append('/home/pc/PycharmProjects/dia1/venv/Calculadora.py')
compruebo lo que me hace :
/usr/bin/python3.6 /home/pc/PycharmProjects/dia1/venv/main.py
5.0
3
['/home/pc/PycharmProjects/dia1/venv', '/home/pc/PycharmProjects/dia1', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages', '/home/pc/PycharmProjects/dia1/venv/Calculadora.py']
por otro lado lo quiero llamar en main.py con el siguiente codigo
1
2
3
4
5
import Calculadora
print (Calculadora.divide(2, 2))
obj = Calculadora()
obj.suma(2, 2)
no veo por que no puedo llamr a la clase Calculadora devolviendome el siguiente fallo
Traceback (most recent call last):
File "/home/pc/PycharmProjects/dia1/venv/main.py", line 2, in <module>
print (Calculadora.divide(2, 2))
AttributeError: module 'Calculadora' has no attribute 'divide'
Process finished with exit code 1
¿alguien sabe que puedo estar haciendo mal?
adjunto el proyecto de prueba
muchas gracias a tod@s
- dia1.zip(5,8 MB)
Valora esta pregunta
0