Python - LLamada de clases desde otro fichero

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

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

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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

LLamada de clases desde otro fichero

Publicado por tincopasan (1082 intervenciones) el 07/03/2019 05:37:16
tenés varios errores, pero voy con tu pregunta cambia:
1
import Calculadora
por
1
from Calculadora import *

después anda viendo los otros errores
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

LLamada de clases desde otro fichero

Publicado por juan (2 intervenciones) el 07/03/2019 12:22:50
muchas gracias
ya puedo continuar. Ahora seguire pegandome con ello
buenos dias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar