Exemple de fermeture Python

Un exemple de fermeture familière + fonction d'ordre supérieur dans Scheme (compteur, [Wikipedia's Closure '](https://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%AD%E3%83% BC% E3% 82% B8% E3% 83% A3)) réécrit en Python est décrit comme un mémorandum.

Pour Python (3.X)

Le fait est que si vous souhaitez réécrire la valeur de la variable externe incluse dans le corps de la fonction, est-il nécessaire de la déclarer comme non locale?

counter.py


>>> def new_counter(c):
...   def retfunc():
...     nonlocal c
...     c += 1
...     return (c)
...   return (retfunc)
...
>>> c1 = new_counter(10)
>>> c1()
11
>>> c1()
12
>>> c1()
13

Pour Scheme

Vérifiez l'exécution sur Gauche.

counter.scm


gosh> (define new_counter
        (lambda (c)
          (lambda () (set! c (+ c 1)))))
new_counter
gosh> (define c1 (new_counter 10))
c1
gosh> (c1)
11
gosh> (c1)
12
gosh> (c1)
13

Recommended Posts

Exemple de fermeture Python
Python> fonction> Fermeture
Exemple Ajax + Python + PostgreSQL
Python - Échantillon multi-thread simple
Exemple de données créées avec python
Python
Exemple de cache Python Actions GitHub
Exemple de fonctions d'ordre supérieur (décorateurs) en Python
Exemple d'utilisation de pickle Python
fermeture
[Python] Exemple de code pour la grammaire Python
AtCoder: Python: Papa, l'exemple de test.
[Présentation de l'application Udemy Python3 +] 56. Clôture
[Python] Exemple de test avec unittest2, simulé
Exemple d'API Boto3 (Python) que j'utilise souvent
Résumé de l'exemple de code de traitement parallèle / parallèle Python
Exemple NAOqi Python (faire marcher NAO)
python kafka
Exemple d'API Google Cloud Vision pour python
Résumé Python
Python intégré
Notation d'inclusion Python
Technique Python
Étudier Python
Compte à rebours Python 2.7
Python FlowFishMaster
Service Python
astuces python
fonction python ①
Les bases de Python
Mémo Python
ufo-> python (3)
4 langage de comparaison de fermeture (Python, JavaScript, Java, C ++)
Notation d'inclusion Python
Installer python
Les bases de Python ④
Mémorandum Python 2
mémo python
Python Jinja2
Incrément Python
atCoder 173 Python
Exemple PHP / Python / Ruby frappant l'API Path
[Python] fonction
Échantillon PyAudio
Mise en œuvre de la fermeture
Installation de Python
Exemple de script pour piéger les signaux en Python
Installer Python 3.4.3.
Mémo Python
Itératif Python
Algorithme Python
Python2 + mot2vec
[Python] Variables
Fonctions Python
Python sys.intern ()
Tutoriel Python
Fraction Python
underbar python C'est ce que
Résumé Python
Démarrer python