fonctions imbriquées par rapport aux fermetures en python
Bien que les fonctions imbriquées dans Python ressemblent superficiellement Non-Closures
Les fonctions imbriquées dans Python ne sont pas considérées comme des fermetures car elles n'acceptent pas les exigences suivantes:
Ils n'accèdent pas aux variables locales pour encloser des scopes lorsqu'ils sont exécutés en dehors de la lunette suivante. Make_printer (msg): def imprimante (): imprimer (msg) return imprimante
def make_printer(msg): def printer(): print(msg) return printer
Dans ce cas, la variable msg est liée à la valeur par défaut lorsque l'imprimante est créée, et elle ne fait référence à aucune variable en dehors de sa propre portée. Par conséquent, ce n'est pas une fermeture.
Conclusion
Les fonctions imbriquées en python qui ne respectent pas la définition de fermeture sont communément appelées «fonctions imbriquées» pour les distinguer des clôtures réelles. Les fermetures peuvent être utiles pour conserver l'état des lunettes d'enfermement, tandis que les fonctions imbriquées non de clôture encapsulent simplement les fonctionnalités dans une portée lexicale.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3