Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Llamar variable de una funcion en otra función?

Estas en el tema de Llamar variable de una funcion en otra función? en el foro de Python en Foros del Web. Saludos denuevo yo con una duda seguro muy basica mi duda es la siguiente suponiendo este pequeño codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Python: Ver original def ...
  #1 (permalink)  
Antiguo 28/03/2014, 04:34
Avatar de Valkno  
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Llamar variable de una funcion en otra función?

Saludos denuevo yo con una duda seguro muy basica mi duda es la siguiente suponiendo este pequeño codigo

Código Python:
Ver original
  1. def hola():
  2.     hola = ("Hola Mundo")
  3.  
  4. def hola2():
  5.     print(hola)
  6.  
  7. hola()
  8. hola2()

Suponiendo este pequeño código como podría hacer que el valor de la variable hola de la función hola persista de forma que pueda ser llamada en la función hola2?

Saludos y Gracias!

Última edición por Valkno; 28/03/2014 a las 04:40
  #2 (permalink)  
Antiguo 28/03/2014, 06:47
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Llamar variable de una funcion en otra función?

Hola:

Debes leer acerca del ámbito de las variables y variables globales en python.
Cualquier tutorial para principiantes te puede servir, ejemplo:
http://elclubdelautodidacta.es/wp/20...-una-variable/

slds;

nup_
  #3 (permalink)  
Antiguo 28/03/2014, 15:51
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Llamar variable de una funcion en otra función?

Hola!
Muy buen aporte _nup, no sabía algunas cosas porque pasaban, como por ejemplo que al asignar un valor a una variable global dentro de una función, esta pasaría a ser local, ahora las entiendo. Gracias!
  #4 (permalink)  
Antiguo 28/03/2014, 17:54
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Llamar variable de una funcion en otra función?

Código Python:
Ver original
  1. hola = None
  2.  
  3. def hola():
  4.     global hola
  5.     hola = ("Hola Mundo")
  6.  
  7. def hola2():
  8.     print(hola)
  9.  
  10. hola()
  11. hola2()

Para empezar a experimentar está bueno, pero no es recomendable usar variables globales. Mas adelante seguro ya lo notarás.

  #5 (permalink)  
Antiguo 28/03/2014, 23:49
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Llamar variable de una funcion en otra función?

Yo antes tenía el mismo problema, pero mi solución fué difícil al comienzo, ahora me hes más fácil, la solución para mi es utilizar una clase class en vez de una o más funciones def.
Creo que sería lo mejor.

Aquí te dejo un ejemplo simple:

Código Python:
Ver original
  1. class CompartirVariables: # Nombre de la clase
  2.     def PrimeraFuncion(self): # Nombre de la funcion "PrimeraFuncion"
  3.         global hola1 # Aqui se define la variable "hola1" como global, esto es para que la "SegundaFuncion" pueda acceder a ella
  4.         hola1 = "Hola mundo" # Se asigna un valor a "hola1"
  5.         self.hola2 = "Hola mundo 2" # Esto tambien es muy util
  6.         self.SegundaFuncion() # Aqui se llama a la funcion "SegundaFuncion()"
  7.     def SegundaFuncion(self): # Nombre de la funcion "SegundaFuncion"
  8.         print hola1 # hola1 conserva el valor asignado en la funcion "PrimeraFuncion"
  9.         print self.hola2 # self.hola2 conserva el valor asignado en la funcion "PrimeraFuncion"
  10.  
  11. NombreObjeto = CompartirVariables() # Aca se crea el objeto
  12. NombreObjeto.PrimeraFuncion() # Aqui se llama a la funcion "PrimeraFuncion"
  13.  
  14. raw_input() # Este metodo es para que la consola no se cierre.



Última edición por Principe_Azul; 29/03/2014 a las 00:40
  #6 (permalink)  
Antiguo 29/03/2014, 14:40
Avatar de Valkno  
Fecha de Ingreso: marzo-2014
Mensajes: 4
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Llamar variable de una funcion en otra función?

Muchas gracias a todos, de momento creo que usare variables globales, la verdad es que no entiendo las clases D: cuando las he estudiado no he llegado a entenderlas :/...

Saludos a todos y muchas gracias!.
  #7 (permalink)  
Antiguo 30/03/2014, 02:30
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Llamar variable de una funcion en otra función?

Me parece bien, pero son mucho mejor las clases, y si, al principio son bastante difíciles de entender o difíciles, pero con horas o días de práctica vas a entenderlas de a poco.
Estudiar de memoria una descripción y/o ayuda de un manual no es saber, lo que realmente se sabe es lo que se entiende.
Por ejemplo a mi me costo entender porque existe un incremento en un bucle while hasta que lo comprendí.

Me alegro que te haya servido nuestra ayuda!!

Etiquetas: funcion, persistencia, variable
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 20:16.