Tutorial de Python - Función
- ¿Qué es la función de Python?
- Cómo definir una función Python
- Ejemplo de función de Python
- Llamar una función en Python
-
La sentencia
return
- Alcance y vida útil de las variables de Python
- Tipos de funciones
En esta sección, aprenderá
- Qué es una función
- Cómo crear una función
- Tipos de funciones
¿Qué es la función de Python?
Una función es un pequeño bloque de un programa que contiene un número de sentencias para realizar una tarea específica. Cuando se tiene un programa de miles de líneas realizando diferentes tareas, se debe dividir el programa en pequeños módulos (bloques), lo que aumenta la legibilidad y reduce la complejidad.
Cómo definir una función Python
La siguiente es la sintaxis para definir una función:
def functionName(arguments):
"""This is the definition of this function"""
statements
return returnParam
- La palabra clave
def
se utiliza para definir una función. functionName
es el nombre de la función.- Los
arguments
son opcionales. Los argumentos proporcionan valores a la función para realizar operaciones sobre ella. - Los dos puntos (
:
) terminan la cabecera de la función. """This is the definition of this function"""
es unadocstring
y es opcional que describe lo que hace la función.statements
se refiere al cuerpo de la función.- La sentencia
return
devuelve opcionalmente el resultado a la persona que llama.
Ejemplo de función de Python
def language(p):
"""Function to print a message"""
print("Programming language:", p)
Aquí se define una función language
que tiene un argumento p
que pasa del llamador. Dentro de la función, hay una cadena de documentos y una sentencia print
para imprimir el mensaje que contiene el argumento p
.
Llamar una función en Python
Se puede llamar a una función desde cualquier parte del programa. Una función puede ser llamada por su nombre con los parámetros requeridos.
language("Python")
Programming language: Python
La sentencia return
La sentencia return
transfiere el control de vuelta a los códigos donde se llama la función.
Indica el final de la definición de la función.
La sintaxis de return
es la siguiente:
return [values_to_be_returned]
Si no hay ninguna sentencia return
en una función, se devolverá un objeto None
.
Ejemplo de uso de la sentencia return
def square(n):
return n * n
print("Square of 4=", square(4))
Square of 4=16
En este código, la función es llamada en una función print
y se le pasa 4 como argumento. Dentro de la función, tienes una expresión n*n
que se evalúa y el resultado se devuelve donde se llama a la función (sentencia print
).
Alcance y vida útil de las variables de Python
El alcance de una variable es donde se puede acceder a una variable. Cuando una variable se declara dentro de una función, no es accesible para el exterior de esa función. Este tipo de variables se denomina variable local y se accede sólo a la función donde se declara.
La vida útil de una variable es el tiempo durante el cual una variable existe en la memoria. Cuando se declara una variable dentro de una función, la memoria de la misma se liberará cuando el control salga de la función.
Ver el ejemplo a continuación:
def fun():
a = 12
print("Value of a inside function:", a)
a = 24
fun()
print("Value of a outside function:", a)
Value of a inside function: 12
Value of a outside function: 24
En este código, la variable a
dentro de la función y la variable a
fuera de la función son variables diferentes.
Si intentas acceder a las variables declaradas dentro de las funciones desde fuera, te encontrarás con un error - NameError name 'x' is not defined
. Pero las variables declaradas fuera de las funciones tienen un alcance global y se puede acceder a ellas desde dentro.
Tipos de funciones
Las funciones en Python se pueden clasificar en dos tipos:
- Funciones incorporadas: tienen un significado predefinido y realizan tareas específicas.
Funciones definidas por el usuario
: son definidas por el usuario y contienen cualquier número de instrucciones para realizar tareas definidas por el usuario.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook