Foros del Web » Programando para Internet » Python »

Instancia de clase como parámetro

Estas en el tema de Instancia de clase como parámetro en el foro de Python en Foros del Web. Necesito ayuda de como poner instancias de clases como parametros en python, en java yo lo hago asi: Clase Frame: public void agregarProceso(Proceso proceso) Y ...
  #1 (permalink)  
Antiguo 17/08/2012, 16:01
 
Fecha de Ingreso: agosto-2012
Ubicación: Mexico
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Instancia de clase como parámetro

Necesito ayuda de como poner instancias de clases como parametros en python, en java yo lo hago asi:

Clase Frame:
public void agregarProceso(Proceso proceso)

Y mi Clase Proceso es un hilo donde tiene los metodos start, run, etc

Entonces lo que quiero es que en agregarProceso recibe un hilo como paramétro y ahi acciono los metodos de mi clase Proceso pero no se como hacerlo en python, no se como poner esa instancia de mi clase Proceso en python, me pueden ayudar por favor a decir como se hacen esas declaraciones, gracias.
  #2 (permalink)  
Antiguo 17/08/2012, 16:13
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Instancia de clase como parámetro

Aaaahms... Creo que no he entendido bien la pregunta. ¿Puedes poner algún ejemplo más descriptivo? Por el momento, lo que yo entiendo es esto:
Código Python:
Ver original
  1. class Clase:
  2.     def metodo(self, instancia_de_otra_clase):
  3.         instancia_de_otra_clase.otro_metodo()
  4.  
  5. class OtraClase:
  6.     def otro_metodo(self):
  7.         print 'Otro método'
  8.  
  9. clase = Clase()
  10. otra_clase = OtraClase()
  11. clase.metodo(otra_clase) # Otro método
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 17/08/2012, 16:18
 
Fecha de Ingreso: agosto-2012
Ubicación: Mexico
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Instancia de clase como parámetro

Código Python:
Ver original
  1. class Clase:
  2.         def metodo(self, instancia_de_otra_clase):
  3.             instancia_de_otra_clase.otro_metodo()
  4.      
  5.     class OtraClase:
  6.         def otro_metodo(self):
  7.             print 'Otro método'
  8.      
  9.     clase = Clase()
  10.     otra_clase = OtraClase()
  11.     clase.metodo(otra_clase) # Otro método

Aja eso es lo que quiero pero como pones la instancia_de_otra_clase osea se pone algo = OtraClase()
o solo OtraClase o como eso es lo que no se poner y me tira error

Última edición por razpeitia; 17/08/2012 a las 16:28 Razón: resaltado de sintaxis
  #4 (permalink)  
Antiguo 17/08/2012, 16:53
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Instancia de clase como parámetro

¿Has probado el ejemplo?
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 17/08/2012, 16:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Instancia de clase como parámetro

Mas o menos entiendo lo que quieres hacer. Primero que nada esto no es parecido a ningún lenguaje compilado que hayas visto antes (ejem. Java).

Si te das cuenta los parámetros no tienen ningún tipo de dato.

Vamos a crear una función simple.

Código Python:
Ver original
  1. def contar(lista, objetivo):
  2.     return objeto.count(objetivo)
  3.  
  4. print contar([1, 2, 3], 3) # 1
  5. print contar("abcdeb", 'b') # 2
  6. print contar(10101, 1) #Error

Esto funciona por que las listas y las cadenas poseen el método count. Mientras que los enteros no poseen dicho método. Es a lo que se llama duck typing (si se ve como un pato y hace como pato entonces es un pato). Vaya lo que quiero decir es que si tu asumes que el parámetro que estas recibiendo en tu función o método posee ciertos métodos (o propiedades) y realmente los tiene no debería de arrojar un error.
  #6 (permalink)  
Antiguo 17/08/2012, 16:59
 
Fecha de Ingreso: agosto-2012
Ubicación: Mexico
Mensajes: 5
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Instancia de clase como parámetro

No lo habia probado y ahorita lo probe y si me funciono, muchas gracias solo eso no habia comprendido de este lenguaje, ya ahorita si ya comprendo bien python. Muchas gracias por su ayuda, soy usuario nuevo y la verdad me encanto la ayuda que proporcionan gracias y seguiré usando este foro para preguntar y responder dudas. Gracias

Etiquetas: clase, instancia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:40.