Una función o subrutina es un conjunto de instrucciones de programa que realizan una tarea, encapsuladas como una unidad. Toda función tiene un nombre, y puede ser llamada o invocada durante la ejecución del programa.
Una función puede realizar una acción o serie de acciones, y/o devolver un valor (por ejemplo, imprimir un valor en la pantalla, o calcular el promedio de un conjunto de valores).
Frecuentemente las funciones tienen parámetros de entrada, que controlan su comportamiento y/o proporcionan datos a ser procesados. Cada vez que se llama la función, a esos parámetros se les pueden asignar distintos valores, que son los argumentos con que se llama la función.
nombre(argumento)
Utilizar funciones en un programa tiene varias ventajas, las dos principales son:
En Python, como en la mayoría de los lenguajes de programación, las funciones pueden tener tres orígenes diferentes:
print()
¶La función print()
imprime en la salida estándar (la pantalla) el valor de la expresión que recibe como argumento.
Cuando se escriben expresiones en el intérprete (modo interactivo), el resultado evaluado se envía directamente a la salida estándar (eco).
Cuando se ejecuta un programa escrito en Python (modo script
), no hay eco, y para imprimir un objeto en la pantalla se utiliza la función print()
.
print(2)
print(2**(1/12))
print("do")
print("hola, Python")
la = 440
print(la)
print(do)
En una llamada a la función print() se pueden concatenar varias expresiones:
la = 440
print("la frecuencia de la es", la, "Hz")
Por defecto, la separación entre las expresiones es un espacio en blanco, pero se puede definir otro separador.
la = 440
print("la frecuencia de la es", la, "Hz", sep='__')
El separador puede ser un carácter extendido.
print("1", "12", "123", "1234", sep="\t")
print("2345", "234", "23", "2", sep="\t")
Convertir temperatura en grados Fahrenheit a grados Celsius.
temp_fahrenheit = 40
temp_celsius = (temp_fahrenheit-32)*5/9
print(temp_celsius)
input()
¶La función input()
se puede usar en un programa para ingresar datos a través de la entrada estándar (el teclado) durante su ejecución.
gusto = input("díganos su sabor preferido de helado: ")
print("entonces, le vamos a regalar un helado de", gusto)
La función input()
siempre devuelve una cadena de caracteres (tipo string
).
num = input("ingrese un número: ")
print(num*2)
int()
¶La función int
devuelve un número entero de tipo int
a partir de la expresión que recibe como argumento, si eso es posible.
Se puede decir que tiene polimorfismo, según el tipo del argumento:
string
), la convierte a un número entero (int
).int(2.34)
int("234")
a = "200"
print(a*2)
print(int(a)*2)
a = input("ingrese un número: ")
print(a*2)
print(int(a)*2)
La función int() sólo procesa correctamente cadenas de caracteres que contengan exclusivamente números.
Si la cadena contiene cualquier otro carácter, la función devuelve un error.
int("2")
int("2.5")
int("doscientos")
float()
¶La función **float()** es similar a int(), pero devuelve un número de coma flotante.
float("2.5")
a = input("ingrese un número flotante: ")
print(a*2)
print(float(a)*2)
La función float() sólo procesa correctamente cadenas de caracteres que contengan números y hasta un punto.
Si la cadena contiene cualquier otro carácter, la función devuelve un error.
Convertir una temperatura ingresada en grados Fahrenheit, a grados Celsius.
temp_fahrenheit = input("ingrese la temperatura en grados Fahrenheit: ")
temp_celsius = (int(temp_fahrenheit)-32)*5/9
print("equivalente en grados Celsius: ", temp_celsius)
A partir de una frecuencia dada, calcular la frecuencia a un número determinado de cents de distancia.
frec_inicial = int(input("ingrese la frecuencia inicial: "))
cents = int(input("ingrese la cantidad de cents: "))
frec_final = frec_inicial*(2**(cents/1200))
print("frecuencia final: ", frec_final)