Menu
Coddy logo textTech

Valores por defecto

Parte de la sección Fundamentals del Journey de Python de Coddy — lección 48 de 77.

A veces, cuando creamos una función, queremos tener algunos argumentos que sean opcionales, con valores predeterminados por defecto.

Ejemplo:

def greet(name, greeting="Hello"):
    print(name, greeting)

Uso de la función con solo el argumento requerido:

greet("John")
# Salida: John Hello

Usando la función con ambos argumentos:

greet("john", "welcome")
# Salida: john welcome

Puedes tener múltiples argumentos predeterminados:

def describe_person(name, age=25, city="Unknown"):
    print(f"{name} is {age} years old and lives in {city}")
describe_person("Alice")
# Usa ambos valores por defecto

describe_person("Bob", 30)
# Usa la ciudad por defecto

describe_person("Charlie", 35, "New York")
# No usa valores por defecto

Regla importante: Los argumentos por defecto deben ir después de los argumentos sin valor por defecto en la definición de la función.

# Correcto:
def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")
# Incorrecto:
def greet(greeting="Hello", name):
    print(f"{greeting}, {name}!")

Hoja de referencia

Argumentos por defecto en funciones:

def greet(name, greeting="Hello"):
    print(name, greeting)

greet("John")  # Output: John Hello
greet("John", "Welcome")  # Output: John Welcome

Múltiples argumentos por defecto:

def describe_person(name, age=25, city="Unknown"):
    print(f"{name} is {age} years old and lives in {city}")

describe_person("Alice")  # Usa ambos valores por defecto
describe_person("Bob", 30)  # Usa la ciudad por defecto
describe_person("Charlie", 35, "New York")  # No usa valores por defecto

Importante: Los argumentos por defecto deben ir después de los argumentos que no tienen valores por defecto en la definición de la función.

# Correcto:
def greet(name, greeting="Hello"):
    print(f"{greeting}, {name}!")

# Incorrecto:
def greet(greeting="Hello", name):
    print(f"{greeting}, {name}!")

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentals