MEJOR SITIO PARA DESARROLLADORES WEB

Python Tutorial

Python HOGAR Python Intro Python Empezar Python Sintaxis Python Comentarios Python Variables Python Tipos de datos Python Números Python Fundición Python Instrumentos de cuerda Python Booleanos Python Operadores Python Liza Python Tuplas Python Conjuntos Python Diccionarios Python If...Else Python While Bucles Python For Bucles Python Funciones Python Lambda Python Matrices Python Clases/Objetos Python Herencia Python Iteradores Python Polimorfismo Python Alcance Python Módulos Python Fechas Python Math Python JSON Python RegEx Python PIP Python Try...Except Python Entrada del usuario Python Formato de cadena

Manejo de archivos

Python Manejo de archivos Python Leer archivos Python Escribir/Crear Archivos Python Borrar archivos

Python Módulos

NumPy Tutorial Pandas Tutorial SciPy Tutorial Django Tutorial

Python Matplotlib

Matplotlib Intro Matplotlib Empezar Matplotlib Pyplot Matplotlib Graficado Matplotlib Marcadores Matplotlib Línea Matplotlib Etiquetas Matplotlib Red Matplotlib Subtramas Matplotlib Dispersión Matplotlib Barras Matplotlib Histogramas Matplotlib Gráficos circulares

Aprendizaje automático

Empezando Modo Mediana Media Desviación Estándar Percentil Distribución de datos Distribución normal de datos Gráfico de dispersión Regresión lineal Regresión polinómica Regresión múltiple Escala Entrenar/Prueba Árbol de decisión Matriz de confusión Agrupación jerárquica Regresión logística Búsqueda de cuadrícula Datos categóricos K-medias Agregación de arranque Validación cruzada AUC - ROC Curva K-vecinos más cercanos

Python MySQL

MySQL Empezar MySQL Crear base de datos MySQL Crear mesa MySQL Insertar MySQL Seleccionar MySQL Dónde MySQL Ordenar por MySQL Borrar MySQL Mesa plegable MySQL Actualizar MySQL Límite MySQL Unirse

Python MongoDB

MongoDB Empezar MongoDB Crear base de datos MongoDB Crear colección MongoDB Insertar MongoDB Encontrar MongoDB Consulta MongoDB Clasificar MongoDB Borrar MongoDB Colección de gotas MongoDB Actualizar MongoDB Límite

Python Referencia

Python Descripción general Python Funciones integradas Python Métodos de cadena Python Métodos de lista Python Métodos de diccionario Python Métodos de tupla Python Establecer métodos Python Métodos de archivo Python Palabras clave Python Excepciones Python Glosario

Referencia del módulo

Módulo aleatorio Módulo de Solicitudes Módulo de Estadísticas Módulo de Matemáticas cMath Módulo

Python Cómo

Eliminar lista duplicada Invertir una cadena Suma dos números

Python Ejemplos

Python Ejemplos Python Compilador Python Ejercicios Python Prueba Python Campo de entrenamiento Python Certificado

Python. Lecciones para principiantes

Ua En

Python Funciones


Una función es un bloque de código que sólo se ejecuta cuando se llama.

Puedes pasar datos, conocidos como parámetros, a una función.

Una función puede devolver datos como resultado.


Creando una función

En Python, una función se define usando la palabra clave def:

Ejemplo

def my_function():
  print("Hola desde una funcion")

Llamar a una función

Para llamar a una función, use el nombre de la función seguido de paréntesis:

Ejemplo

def my_function():
  print("Hello from a function")

my_function()
Inténtalo tú mismo »

Argumentos

La información se puede pasar a funciones como argumentos.

Los argumentos se especifican después del nombre de la función, dentro del paréntesis. Puedes agregar tantos argumentos como quieras, simplemente sepáralos con una coma.

El siguiente ejemplo tiene una función con un argumento (fname). Cuando se llama a la función, pasamos un nombre, que se usa dentro de la función para imprimir el nombre completo:

Ejemplo

def my_function(fname):
  print(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")
Inténtalo tú mismo »

Los argumentos a menudo se abrevian a args en la documentación de Python.


¿Parámetros o argumentos?

Los términos parámetro y argumento se pueden usar para lo mismo: información que se pasa a una función.

Desde la perspectiva de una función:

Un parámetro es la variable que figura entre paréntesis en la definición de la función.

Un argumento es el valor que se envía a la función cuando se llama.


Número de argumentos

De forma predeterminada, se debe llamar a una función con el número correcto de argumentos. Lo que significa que si su función espera 2 argumentos, debe llamar a la función con 2 argumentos, ni más ni menos.

Ejemplo

Esta función espera 2 argumentos y obtiene 2 argumentos:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil", "Refsnes")
Inténtalo tú mismo »

Si intenta llamar a la función con 1 o 3 argumentos, obtendrá un error:

Ejemplo

Esta función espera 2 argumentos, pero solo obtiene 1:

def my_function(fname, lname):
  print(fname + " " + lname)

my_function("Emil")
Inténtalo tú mismo »

Argumentos arbitrarios, *args

Si no sabe cuántos argumentos se pasarán a su función, agregue un * antes del nombre del parámetro en la definición de la función.

De esta manera la función recibirá una tupla de argumentos y podrá acceder a los elementos en consecuencia:

Ejemplo

Si se desconoce el número de argumentos, agregue un * antes del nombre del parámetro:

def my_function(*kids):
  print("The youngest child is " + kids[2])

my_function("Emil", "Tobias", "Linus")
Inténtalo tú mismo »

Los argumentos arbitrarios a menudo se abrevian a *args en la documentación de Python.


Argumentos de palabras clave

También puedes enviar argumentos con la sintaxis clave = valor.

De esta manera el orden de los argumentos no importa.

Ejemplo

def my_function(child3, child2, child1):
  print("The youngest child is " + child3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")
Inténtalo tú mismo »

La frase Argumentos de palabras clave a menudo se abrevia a kwargs en la documentación de Python.


Argumentos de palabras clave arbitrarias, **kwargs

Si no sabe cuántos argumentos de palabras clave se pasarán a su función, agregue dos asteriscos: ** antes del nombre del parámetro en la definición de la función.

De esta manera la función recibirá un diccionario de argumentos y podrá acceder a los elementos en consecuencia:

Ejemplo

Si se desconoce el número de argumentos de palabras clave, agregue un doble ** antes del nombre del parámetro:

def my_function(**kid):
  print("His last name is " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")
Inténtalo tú mismo »

Los argumentos arbitrarios de Kword a menudo se abrevian a **kwargs en la documentación de Python.


Valor de parámetro predeterminado

El siguiente ejemplo muestra cómo utilizar un valor de parámetro predeterminado.

Si llamamos a la función sin argumento, usa el valor predeterminado:

Ejemplo

def my_function(country = "Norway"):
  print("I am from " + country)

my_function("Sweden")
my_function("India")
my_function()
my_function("Brazil")
Inténtalo tú mismo »

Pasar una lista como argumento

Puede enviar cualquier tipo de datos como argumento a una función (cadena, número, lista, diccionario, etc.) y será tratado como el mismo tipo de datos dentro de la función.

Por ejemplo, si envía una Lista como argumento, seguirá siendo una Lista cuando llegue a la función:

Ejemplo

def my_function(food):
  for x in food:
    print(x)

fruits = ["apple", "banana", "cherry"]

my_function(fruits)
Inténtalo tú mismo »

Valores de retorno

Para permitir que una función devuelva un valor, utilice la instrucción return:

Ejemplo

def my_function(x):
  return 5 * x

print(my_function(3))
print(my_function(5))
print(my_function(9))
Inténtalo tú mismo »

La declaración de pass

Las definiciones de function no pueden estar vacías, pero si por alguna razón tiene una definición de function sin contenido, colóquela la instrucción pass para evitar recibir un error.

Ejemplo

def myfunction():
  pass
Inténtalo tú mismo »

Recursión

Python también acepta la recursividad de funciones, lo que significa que una función definida puede llamarse a sí misma.

La recursividad es un concepto matemático y de programación común. Significa que una función se llama a sí misma. Esto tiene la ventaja de que puedes recorrer los datos para llegar a un resultado.

El desarrollador debe tener mucho cuidado con la recursividad, ya que puede ser bastante fácil escribir una función que nunca termina, o una que utiliza cantidades excesivas de memoria o potencia del procesador. Sin embargo, cuando se escribe correctamente, la recursividad puede ser un enfoque de programación muy eficiente y matemáticamente elegante.

En este ejemplo, tri_recursion() es una función que hemos definido para llamarse a sí misma ("recurse"). Usamos la variable k como dato, que disminuye (-1) cada vez que recurrimos. La recursividad finaliza cuando la condición no es mayor que 0 (es decir, cuando es 0).

Para un nuevo desarrollador, puede llevar algún tiempo descubrir cómo funciona esto exactamente; la mejor manera de averiguarlo es probándolo y modificándolo.

Ejemplo

Ejemplo de recursividad

def tri_recursion(k):
  if(k > 0):
    result = k + tri_recursion(k - 1)
    print(result)
  else:
    result = 0
  return result

print("\n\nRecursion Ejemplo Results")
tri_recursion(6)
Inténtalo tú mismo »

Ponte a prueba con ejercicios

Ejercicio:

Crea una función llamada my_function.

:
print("Hola desde una funcion")