Dos dudas en python

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

Dos dudas en python

Notapor leo durandal » Lun Feb 09, 2009 11:34 pm

Pues en mi aprendizaje de python me ha surgido la primera dudad, una muy importante. Y se trata de las funciones, pues no entiendo nada, no se que hacen las funciones y como usarlas.

Pues en el libro aparece esto:

Código: Seleccionar todo
def mi_funcion(param1, param2):
    print param1
    print param2


Que supongo que es una función pero sin nada configurado, pero la verdad no entiendo nada. Y la otra vez mi papa (que supo programar) me explico algo sobre esto pero no lo entendí.

Y la otra duda es sobre el bucle "for... in". Tampoco entiendo lo que hace ni como se usa.

Esas son mis dos dudas, ya que sin saber esto no puedo avanzar mas en el tema. Espero que me puedan ayudar y gracias de antemano.

Saludos ;)
leo durandal
 
Mensajes: 6
Registrado: Sab Ene 31, 2009 3:49 am
Ubicación: En los años 90

Notapor Metator de Arkalot » Mar Feb 10, 2009 12:40 am

Ok, veré si puedo explicarte:
Código: Seleccionar todo
def saludar(tu_nombre)
    print "Hola", tu_nombre

Cuando abres tu programa, estas lineas de código no se ejecutan,
Python solo revisa si no tienes errores de sintaxis, pero no las ejecuta.

Para que la función se ejecute debes "llamarla" en alguna parte del
programa:

>>> saludar("Javier")
Hola Javier

Lo que ocurrio fue:

1.- El programa detuvo su ejecución y se regreso a la parte donde
tienes tu función.
2.- def saludar(tu_nombre) # La función pide que le pases al menos
un objeto, que podria ser un numero, cadena o lo que sea:
saludar(1), saludar([1, 2, 3]), etc
3.- Lo que le hayas puesto entre parentesis se almacena en una
variable "desechable", en este caso se llamará tu_nombre, que pasa
a tomar el valor que hayas puesto entre los parentesis al momento
de llamar la función:
>>> saludar("Javier"), es como si hubieramos escrito >>> tu_nombre = "Javier"
4.- Ya con sus variablers "desechables", se ejecuta el resto del codigo de la funcion:
>>> print "Hola", tu_nombre # recuerda, tu_nombre = "Javier"
5.- Pues ya, se temina la ejecución de la función y regresamos a
ejecutar el programa desde donde se hizo la llamada

Te recomiendo que aprendas Python con este manual:
http://marmota.dlsi.uji.es/MTP/pdf/python.pdf
Hace un año comenze sin saber nada sobre programación, y ahora
ya estoy haciendome unos programas bien chulos...
Avatar de Usuario
Metator de Arkalot
 
Mensajes: 34
Registrado: Mié Abr 23, 2008 2:17 am
Ubicación: México ñ_ñ !!

Notapor Juanxo » Mar Feb 10, 2009 9:57 am

En cuanto a lo del for..in:
Si has trabajado con otros lenguajes(pascal o visual basic...,cosas que enseñan en mi universidad por desgracia), lo habras visto del estilo for i:=1 to 20........(pascal)Esto lo que hace es repetir el código dentro del bucle tantas veces como tu le indiques en el parametro range:
Ejemplo:

Código: Seleccionar todo
for i in range(3,6):
      print i


daria una salida en pantalla de: 3 4 5 6

Espero haberlo explicado bien
Avatar de Usuario
Juanxo
 
Mensajes: 437
Registrado: Sab Ene 31, 2009 2:34 am
Ubicación: Madrid(España)

Notapor endaramiz » Mar Feb 10, 2009 12:13 pm

El for de python normalmente lo que hace es recorrer algo. El range es un rango de números (por ejemplo [3, 4, 5]). Entonces, simplificado sería:
Código: Seleccionar todo
for i in [3, 4, 5]:
    print i
(y devuelve)
3
4
5

En realidad esto se puede escribir con un while. El for ,en este caso, solo serviría para simplificar.
Código: Seleccionar todo
i = 0
rango = [3, 4, 5]
tamanyo_rango = len(rango)
while i < tamanyo_rango:
    print rango[i]
    i = i + 1
(y devuelve)
3
4
5


Espero que te haya servido, saludos.
Avatar de Usuario
endaramiz
 
Mensajes: 283
Registrado: Vie Ago 31, 2007 9:25 am
Ubicación: Barcelona

Notapor leo durandal » Vie Feb 13, 2009 2:25 pm

Muchas gracias por las respuestas, ya no tengo dudas respecto a esos dos temas. :D
leo durandal
 
Mensajes: 6
Registrado: Sab Ene 31, 2009 3:49 am
Ubicación: En los años 90


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado