typestar

Alcance y clausuras en Python

Dónde viven los nombres: locales, globales y capturados.

contador = 0


def incrementar():
    global contador
    contador += 1


def crear_saludador(saludo):
    def saludar(nombre):
        return f"{saludo}, {nombre}!"
    return saludar


ingles = crear_saludador("Hello")
espanol = crear_saludador("Hola")
mensaje = ingles("mundo")

Cómo funciona

  1. global deja que una función reasigne un nombre a nivel de módulo.
  2. crear_saludador devuelve una función interna.
  3. La función interna recuerda saludo después de que su creadora retorna.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
256
Tokens
64
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 40 segundos.

Escribe este fragmento

Paso 6 de 6 en Funciones; paso 38 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →