realpython / realpython/python-guide
"Late-binding" isn't the issue with closures on a loop
Personne n'a encore pris cette issue.
- Langage dominant
- Batchfile
- Étoiles
- 29.8k
- Forks
- 5.9k
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Lua also has late-binding closures, as can be seen here: https://repl.it/repls/HotpinkEagerQuery (the first one intentionally misused to highlight the difference between block scope and function scope)
It just also has block scope. That's the thing python doesn't have, thus causing the confusion.
Block scope is better emulated with nested functions, such as:
for i in range(5):
def block_scope_emulation(i):
def thing(x):
return x*i
block_scope_emulation(i)
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Repérez le passage du guide qui explique les closures dans une boucle et comparez sa formulation avec l’exemple Lua lié et l’exemple de fonction imbriquée dans l’issue. La tâche est terminée lorsque l’explication distingue la liaison tardive de la portée de bloc et décrit correctement le comportement de Python.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- lua, python
- Domaine
- documentation
- Type d'issue
- Documentation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 35/100