Documento
Documento
Documento
Funciones
3.1. Llamadas a funciones
Ya hemos visto un ejemplo de una llamada a una funci ́on: >>>
type("32")
<type ’string’>
El nombre de la funci ́on es type, y muestra el tipo de un valor
o de una variable. El valor o variable, llamado el argumento de
la funci ́on, ha de estar encerrado entre par é ntesis. Es
habitual decir que una funci ́on “toma” un argumento y
“devuelve” un resultado. El resultado se llama valor de
retorno.
En lugar de imprimir el valor de retorno, podemos asign ́arselo
a una variable.
>>> nereida = type("32")
>>> print nereida
<type ’string’>
O
>>> id(3)
134882108
>>> yanira = 3
>>> id(yanira)
134882108
Cada valor tiene un id, que es un valor u ́nico relacionado con
d ́onde se almacena en la memoria del computador. El id de
una variable es el id del valor al que hace referencia.
Conversio ́n de tipos
Python proporciona una colecci ́on de funciones internas que
convierten valores de un tipo a otro. La funci ́on int toma un
valor y lo convierte a un entero, si es posible, o da un error si
no es posible.
>>> int("32")
32
>>> int("Hola")
ValueError: invalid literal for int(): Hola
int tambi ́en convierte valores de coma flotante a enteros,
pero recuerde que siempre redondea hacia abajo:
>>> int(3.99999)
3
La funci ́on float que convierte enteros y cadenas en nu ́meros
en coma flotante:
>>> float(32)
32.0
>>> float("3.14159")
3.14159
Finalmente, est ́a la funci ́on str, que convierte a tipo string:
>>> str(32)
’32’
>>> str(3.14149)
’3.14149’
Coerción de tipos.
>>> minuto = 59
>>> float(minuto) / 60.0
0.983333333333
Funciones matemáticas.
Antes de poder usar las funciones de un m ́odulo, tenemos
que importarlo:
>>>import math
Para llamar a una de las funciones, tenemos que especificar el
nombre del m ́odulo y el nombre de la funci ́on, separados por
un punto. A esto se le llama notaci ́on de punto:
decibelio = math.log10 (17.0)
angulo = 1.5
altura = math.sin(angulo)
Por ejemplo, para hallar el seno de 45 grados, calcule primero
el ́angulo en radianes y luego halle el seno:
grados = 45
angulo = grados * 2 * math.pi / 360.0
math.sin(angulo)
La constante pi tambi ́en es parte del m ́odulo math. Si se sabe
la geometr ı́ a, puede verificar el resultado compar á ndolo con
el de la ra ́ız cuadrada de 2, dividida entre 2.
>>> math.sqrt(2) / 2.0
0.70710678118
30 Funciones
toma dos argumentos, los concatena y luego imprime el
resultado dos veces. Podemos llamar a la funci ́on con dos
cadenas:
>>> cantus1 = "Die Jesu domine, "
>>> cantus2 = "Dona eis requiem."
>>> catDoble(cantus1, cantus2)
Die Jesu domine, Dona eis requiem. Die Jesu domine, Dona
eis requiem.
Cuando catDoble termina, la variable cat se destruye. Si trat
á semos de impri- mirla, obtendr ́ıamos un error:
>>> print cat
NameError: cat
Diagramas de pila
Para mantener el rastro de que variables pueden usarse y d
́donde, a veces es útil dibujar un diagrama de pila. Como los
diagramas de estado, los diagramas de pila muestran el valor
de cada variable, pero también muestran la función a la que
cada variable pertenece.
Cada función on se representa por una caja con el nombre de
la función junto a ́el. Los parámetros y variables que
pertenecen a una función on van dentro. Por ejemplo, el
diagrama de stack para el programa anterior tiene este
aspecto: