Buscar (Don't Edit)

viernes, 18 de enero de 2013

Aprendiendo a Programar con Python II: Cadenas y Funciones


Continuamos con esta serie de tutoriales llamados “Aprendiendo a programar con Python”  cuya primera parte pueden encontrar aquí. Esta vez iniciaremos con un tipo de variable bastante usado en la programación, especialmente cuando se trata de interfaces gráficas dónde es necesario interactuar con el usuario a través de mensajes y texto: el tipo string o cadena. Además aprenderemos más sobre el uso de funciones y el cómo definir correctamente una función. Adelante…



Tipo str (string o cadena)
Una cadena es una secuencia de caracteres. En Python, este tipo es  llamado str. Para mostrar cadenas en Python, éstas deben empezar y terminar con comillas simples (‘) o dobles (“). Las cadenas pueden estar conformadas por letras, números y caracteres especiales.
Ejemplo:
Las cadenas también pueden ser almacenadas en memoria a través de las variables de asignación, para desplegarlas posteriormente.
Ejemplo:
NOTA: Si nuestra cadena empieza con comillas simples, debe terminar con comillas simples. Lo mismo para las cadenas con comillas dobles.

Secuencias de Escape
Para incluir una comilla dentro de una cadena, usaremos un caracter de escape (\) antes de ella. Si no hacemos esto, Python interpreta la comilla como el final de la cadena y nos devolverá un error.
Ejemplo:
Otra alternativa es usar comillas dobles cuando incluyamos comillas simples dentro de una cadena, o viceversa.
Ejemplo

Otras secuencias de escape

Secuencia de escape
Descripción
Ejemplo
Salida
\n
Salto de línea
print(''Hola
moztro
dev''')
Hola
moztro
dev
\t
Tabulación
print('a\tb\tc')
a                  b                  c
\\
Diagonal invertida (\)
print('\\')
\
\'
Comilla simple (')
print('\'')
'
\"
Comillas dobles(")
print("Me dicen \"moztro\".")
Me dicen "moztro".

Operaciones con cadenas

Expresión
Descripción
Ejemplo
Salida
cadena1 + cadena2
Concatena la cadena1 y la cadena2
print('moztro' + 'dev')
moztrodev
cadena1 * N
Concatena N copias de cadena1
print('a' * 5)
aaaaa
N * cadena1
Concatena N copias de cadena1
print(5 * 'ab')
ababababab

Los operadores * y + siguen las reglas estándar de precedencia cuando las usamos con cadenas. El resto de operadores matemáticos resulta en un error.
Ejemplo:

Entradas/Salidas y formatos de cadena

Función print
La función print de Python (como observamos en los ejemplos anteriores) muestra mensajes en pantalla para el usuario.

La función print puede ser llamada pasándole expresiones matemáticas como argumento. Python evalúa la expresión y despliega el resultado para que lo visualice el usuario.
Ejemplo:
La función print puede tomar más de un argumento, los cuales van separados por comas y al visualizarlo se insertará un espacio entre dichos argumentos.
Ejemplo:

Diferencias entre return y print

return
print
Forma general
return expresión
print(argumentos)
Ejemplo
¿Qué se guarda en la variable de asignación?
La dirección de memoria. El resultado de llamar a la función se guarda en la memoria de la variable
Nada. El resultado de llamar a la función no produce ninguna dirección en memoria para ese resultado dentro de la variable
¿Qué se despliega en pantalla?
Nada. Es necesario llamar directamente a la variable de asignación para que muestre el valor en memoria.
Lo que se despliega en pantalla es resultado directo de la llamada a la función ya que si llamamos a la variable, ésta no contiene ningún valor.

Función input
La función input permite al usuario introducir determinados datos. El programa espera que el usuario introduzca los datos, y después ejecuta una serie de instrucciones. El valor que retorna la función siempre será una cadena.

¿Cómo diseñar funciones?
Ya habíamos visto que la forma general para definir una función es:

def nombre_de_la_funcion(parametros):
     cuerpo de la funcion

Pero para poder diseñar correctamente una función tenemos que seguir los siguientes pasos:
1.       Ejemplos
a.       ¿Qué debe hacer tu función?
b.      Prueba un par de ejemplos de llamadas.
c.       Escoge un nombre para tu función, basado en ¿Qué hace tu función?
2.       Tipo de contrato
a.       ¿Cuáles son los tipos de parámetros?
b.      ¿Qué tipo de valor retorna?
3.       Cabecera
a.       Elije nombres de parámetros significativos
4.       Descripción
a.       Menciona cada uno de los parámetros en tu descripción.
b.      Describe el valor retornado.
5.       Cuerpo
a.       Escribe el cuerpo de la función.
6.       Prueba
a.       Ejecuta los ejemplos.
Ejemplo de diseño de funciones
Escribe una función que convierta grados Fahrenheit a Celsius.
Ejemplos
               >>> convertir_a_celsius(32)
               0
              >>> convertir_a_celsius(212)
              100 
Tipo de contrato
                    (número) -> número    
Cabecera
                    def convertir_a_celsius(gradosFahrenheit):
Descripción
                    Retorna el número de grados Celsius equivalentes a los grados Fahrenheit  
Cuerpo
                    return (gradosFahrenheit -32) * 5 / 9    
Prueba
                    Ejecuta los ejemplos.   
   
Función convertir_a_celsius 
  
 
Reutilización de funciones 
Llamar a funciones dentro de otras definiciones de funciones. 
Ejemplo: Calcular el semi-perímetro de un triangulo. Para esto haremos que la función semiperimetro llame a la función perimetro.

 Lo probamos en el Shell: 
 Llamar a funciones dentro de otras llamadas a funciones. 
Ejemplo: Un triángulo tiene base 5.7 y altura 9.0. Un segundo triángulo tiene base 5.4 y altura 8.8. Calcula el valor del área más grande. Para esto pasaremos la función areaTriangulo como argumento de la función max.
 
 
Hasta aquí llegamos con este segundo tutorial, para el próximo veremos un nuevo tipo de variable: booleano. También abarcaremos la instrucción if y alguna otra cosa interesante. 

¡Saludos!

No hay comentarios.:

Publicar un comentario