Python - Llamar variable de otra Clase Phyton

 
Vista:
Imágen de perfil de JC

Llamar variable de otra Clase Phyton

Publicado por JC (3 intervenciones) el 23/08/2016 21:15:24
Buenas tardes, grupo, les saludo pues e tenido la oportunidad de programar en Phyton pero aun estoy confundido en algunos temas como por ejemplo el que preguntaré en estos momentos, resulta que requiero mostrar un valor total de una suma en dos archivos los cuales contienen dos clases diferentes, me explico:

Archivo pickup.py: Este archivo contiene

1
2
3
4
5
6
7
8
9
10
11
12
Class Pickup
 
class pickup(models.Model):
 
    def _calcular_suma_pieces(self):
       if self.piece > 0:
           cantidad = self.piece
           length = self.medida2
           width = self.medida1
           height = self.medida3
           self.total = width * length * height
           self.total1 = (width * length * height) * cantidad

Esta clase realiza una multiplicación de variables que le inserto a travez del formulario, y me arroja un total llamado total1.

Archivo pieces.py

class pieces_com(models.Model):
¿?¡?¡?¡?
EN MI Clase 'pieces_com' ya no encuentro como capturar este total y mostrarlo a travez de la vista .XML que tengo preparada.


Resumen: requiero mostrar el 'total1' obtenido en la funcion realizada en la clase pickup la cual esta en un archivo diferente en mi clase ´'pieces_com', si pudierán por favor orientarme en cuanto a este tema, o decirme el nombre de algun método para utilizarlo en este punto, se los agradeceré.

Se despide respetuosamente, JC.
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
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Llamar variable de otra Clase Phyton

Publicado por xve (1646 intervenciones) el 24/08/2016 08:33:15
Hola JC, para ello, tienes que instanciar la clase pickup... algo así:

1
2
3
4
5
6
7
8
9
10
11
class pickup():
	def _calcular_suma_pieces(self):
		return 25
 
class pieces_com():
	def __init__(self):
		varpickup=pickup()
		resultado=varpickup._calcular_suma_pieces()
		print "El resultado es: %s " % resultado
 
x=pieces_com()

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de JC

Llamar variable de otra Clase Phyton

Publicado por JC (3 intervenciones) el 24/08/2016 16:20:09
Ante todo, muchas gracias por tu respuesta xve, tengo unas cuantas dudas pero realice el procedimiento y me arrojó un TypeError:

File "C:\Program Files\Odoo 8.0\server\openerp\models.py", line 645, in _build_model
model.__init__(pool, cr)
TypeError: __init__() takes exactly 1 argument (3 given)

Archivo pickup.py
La funcion de la clase pickup
1
2
3
4
5
6
7
@api.one
@api.depends('invoice','expence','profit_total')
def _calcular_suma_pieces(self):
	invoice = self.invoice
	expence = self.expence
	self.profit_total = invoice + expence
	return 25   #mi duda es que significado tiene el número 25 en el return o solo es un ejemplo

Archivo pieces.py
La función de la clase pieces

1
2
3
4
5
def __init__(self):
	varpickup=pickup()
	resultado=varpickup._calcular_suma_pieces()
	print "El resultado es: %s " % resultado
	x=pieces_com()

Este resultado lo quiero mostrar en una variable en un formulario .xml
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Llamar variable de otra Clase Phyton

Publicado por xve (1646 intervenciones) el 24/08/2016 17:24:59
No entiendo el error... hay mas código del que nos muestras?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JC

Llamar variable de otra Clase Phyton

Publicado por JC (3 intervenciones) el 24/08/2016 22:28:46
Disculpe mi imprudencia xve si tengo mas codigo del que estoy mostrando, puesto a que olvide comentarle que no solo trabajo con phyton sino con odoo v8 el cual hace uso del lenguaje phyton esto en un entorno de window 7. aqui mis codigos completos se los mostrare en varios mensajes.


comenzare por pickup.py: En donde el el area comentada es denominada CHARGED (en esa area estan todas mis variables ) y el calculo lo realizo en la funcion comentada CALCULO DE CHARGES GANANCIAS Y PERDIDAS(se encuentra la funcion)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
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

Duda

Publicado por aLC (1 intervención) el 15/11/2019 13:45:03
Hola xve.
Cuando defines:
_calcular_suma_pieces(self)
por que le pones un guion delante?

gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Duda

Publicado por xve (1646 intervenciones) el 16/11/2019 08:58:40
Es la copia del código de JC... Yo no lo definí.

En algunos lenguajes, al poner un guión bajo, se hace privado el metodo... pero en Python creo recordar que son dos guiones bajos al inicio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar