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
globaldeja que una función reasigne un nombre a nivel de módulo.crear_saludadordevuelve una función interna.- La función interna recuerda
saludodespués de que su creadora retorna.
Palabras clave y builtins usados aquí
defglobalreturn
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.
Paso 6 de 6 en Funciones; paso 38 de 72 en Fundamentos del lenguaje.