Python Language Definiendo y llamando funciones simples.


Ejemplo

Usar la instrucción def es la forma más común de definir una función en python. Esta declaración es una declaración compuesta llamada cláusula única con la siguiente sintaxis:

def function_name(parameters):
    statement(s)

function_name se conoce como el identificador de la función. Dado que la definición de una función es una sentencia ejecutable, su ejecución vincula el nombre de la función con el objeto de la función que se puede llamar más adelante utilizando el identificador.

parameters es una lista opcional de identificadores que se unen a los valores proporcionados como argumentos cuando se llama a la función. Una función puede tener un número arbitrario de argumentos separados por comas.

statement(s) también conocidas como el cuerpo de la función ) son una secuencia no vacía de sentencias que se ejecutan cada vez que se llama a la función. Esto significa que el cuerpo de una función no puede estar vacío, como cualquier bloque con sangría .

Este es un ejemplo de una definición de función simple cuyo propósito es imprimir Hello cada vez que se llama:

def greet():
    print("Hello")

Ahora llamemos a la función de greet() definida:

greet()
# Out: Hello

Ese es otro ejemplo de una definición de función que toma un solo argumento y muestra el valor pasado cada vez que se llama a la función:

def greet_two(greeting):
    print(greeting)

Después de eso, la función greet_two() debe llamarse con un argumento:

greet_two("Howdy")
# Out: Howdy

También puede dar un valor predeterminado a ese argumento de función:

def greet_two(greeting="Howdy"):
    print(greeting)

Ahora puedes llamar a la función sin dar un valor:

greet_two()
# Out: Howdy 

Notará que, a diferencia de muchos otros idiomas, no necesita declarar explícitamente un tipo de devolución de la función. Las funciones de Python pueden devolver valores de cualquier tipo a través de la palabra clave return . ¡Una función puede devolver cualquier número de tipos diferentes!

def many_types(x):
    if x < 0:
        return "Hello!"
    else:
        return 0

print(many_types(1))
print(many_types(-1))

# Output:
0
Hello!

Mientras la persona que llama maneje esto correctamente, este es un código de Python perfectamente válido.

Una función que llega al final de la ejecución sin una declaración de retorno siempre devolverá None :

def do_nothing():
    pass

print(do_nothing())
# Out: None

Como se mencionó anteriormente, una definición de función debe tener un cuerpo de función, una secuencia de sentencias no vacía. Por lo tanto, la instrucción de pass se utiliza como cuerpo de la función, que es una operación nula: cuando se ejecuta, no sucede nada. Hace lo que significa, salta. Es útil como marcador de posición cuando se requiere una declaración sintácticamente, pero no es necesario ejecutar ningún código.