[PYTHON] Ein Memorandum über den Inhalt der Abschlussumfrage

Während ich Python studierte, verstand ich nicht, was ich sagte, als etwas namens Schließung herauskam, also machte ich mir eine Notiz, damit ich zurückblicken kann, wenn ich es vergesse.

Grundsätzlich können Sie es verstehen, indem Sie sich auf Folgendes beziehen. Python-Tipps: Ich möchte Closure mit Python verwenden [Wann verwenden Sie Verschluss? -Listen Sie drei Verwendungsszenarien auf](http://qiita.com/HirofumiYashima/items/ed17c83f26de3d510b93#python-tipspython%E3%81%A7%E3%82%AF%E3%83%AD%E3%83 % BC% E3% 82% B8% E3% 83% A3% E3% 82% 92% E4% BD% BF% E3% 81% 84% E3% 81% 9F% E3% 81% 84) [Python] -Funktion (4)

Grob gesagt die Schließung ** Der Wert der Variablen in der Funktion ist der Wert der Variablen, die übergeben wurde, als die Funktion deklariert wurde (die Funktion wurde gelesen). ** ** ** Das verstehe ich jetzt.

In einem solchen Fall wird 5 in der Variablen "i" gespeichert, wenn die Funktion gelesen wird. Selbst wenn danach 6 in die Variable "i" eingegeben wird, ist der zurückgegebene Wert 5.

i = 5

def f(arg=i):
    print(arg)

i = 6
f()

http://docs.python.jp/3/tutorial/controlflow.html

Ich habe in einer Welt gelebt, die nichts mit Cloja zu tun hat. Warum also? 6 Yaro! Es gibt ein Gefühl.     Also, [Wann verwenden Sie Closure? -Listen Sie drei Verwendungsszenarien auf](http://qiita.com/HirofumiYashima/items/ed17c83f26de3d510b93#python-tipspython%E3%81%A7%E3%82%AF%E3%83%AD%E3%83 % BC% E3% 82% B8% E3% 83% A3% E3% 82% 92% E4% BD% BF% E3% 81% 84% E3% 81% 9F% E3% 81% 84) Dies.

def circle_area_func(pi):
    """Gibt eine Funktion zurück, um den Bereich eines Kreises zu finden"""
    def circle_area(radius):
        return pi * radius ** 2 #Dieser Pi ist ein Kreis_area_func()Wert im Argument von angegeben

    return circle_area #Gibt die Funktion als Rückgabewert zurück

#Umfangsverhältnis 3.Generieren Sie eine Funktion zur Berechnung der Fläche bei Einstellung auf 14
ca1 = circle_area_func(3.14)

#Stellen Sie als nächstes das Umfangsverhältnis auf 3 ein.Funktion generieren, wenn auf 141592 eingestellt
ca2 = circle_area_func(3.141592)

#Die beiden oben erstellten Funktionen haben einen Radius=Holen Sie sich das Operationsergebnis, indem Sie 1 als Argument angeben
ca1(1)
ca2(1)

#Die beiden oben erstellten Funktionen haben einen Radius=Erhalten Sie das Operationsergebnis, indem Sie 2 als Argument angeben
ca1(2)
ca2(2)

Die Parameter jeder Funktion haben ihre eigenen Werte, aber ich war mir nicht sicher, warum dies der im Radius gespeicherte Wert war.

Erstens schien ich nicht zu verstehen, was in ca1 von "ca1 = circle_area_func (3.14)" gespeichert war.

Ich habe immer gedacht, dass es in ca1 in der Funktion "circle_area_func (pi)" gespeichert ist, aber es war nicht die Funktion "circle_area (radius)".

    def circle_area(radius):
        return pi * radius ** 2 #Dieser Pi ist ein Kreis_area_func()Wert im Argument von angegeben

    return circle_area

Wenn "ca1 (1)" in der nachfolgenden Verarbeitung ausgeführt wird, wird die Funktion "circle_area (radius)" aufgerufen. Daher wird 1 von "ca1 (1)" im Parameter "Radius" gespeichert.

Die Variable "pi" in der Funktion "circle_area (radius)" ist das Konzept des Abschlusses und enthält nur 3.14, das als Argument in "ca1 = circle_area_func (3.14)" eingegeben wurde.

Es hat enorm viel Zeit gekostet, aber ich habe Hunger.

Recommended Posts

Ein Memorandum über den Inhalt der Abschlussumfrage
Ein kleines Memorandum von openpyxl
Ein Memorandum zur Verwendung von eigen3
[Python] Ein Memorandum der schönen Suppe4
Memorandum of files unter conf.d.
Hinweis zur Verwendung der Python-Eingabefunktion
Ein Memorandum über die Geschwindigkeit der Diagonalisierung beliebigen Grades
Memorandum zu Djangos QueryDict
Memorandum zum Löschen von Python-Strings
Ein Memorandum über Probleme beim Formatieren von Daten
Memorandum von sed
Inhalt von __name__
Bild der Schließung
Ein Memorandum zum Aufrufen von Python aus Common Lisp
Memorandum der Extraktion durch Python BS4-Anfrage
Erstellen Sie eine Tabelle mit IPython Notebook
Memorandum of fastText (Bearbeitung)
Ein Memorandum über Warnungen in Pylint-Ausgabeergebnissen
Erhaltene Inhalte von sosreport
Ein Memorandum über Nan.
elasticsearch_dsl Memorandum
[Anmerkung] Inhalt der Form [0], Form [1], Form [2]
[Ubuntu] So löschen Sie den gesamten Inhalt des Verzeichnisses
Ein Memorandum, in dem ich über mein persönliches HEROKU & Python (Flask) gestolpert bin
[Einführung in AWS] Memorandum zum Erstellen eines Webservers auf AWS
Python-Skript, das den Inhalt zweier Verzeichnisse vergleicht
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Ein einfaches Beispiel für pivot_table.
Memorandum über Korrelation [Python]
Ein Memorandum über den Python-Mock
Ein Memorandum zur γ-Umwandlung
Eine kurze Zusammenfassung von Linux
Simulation des Inhalts der Brieftasche
Memorandum des Python-Paketverwaltungstools ez_setup
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
Memorandum of Scraping & Machine Learning [Entwicklungstechnik] von Python (Kapitel 5)
Erstellen Sie eine Funktion, um den Inhalt der Datenbank in Go abzurufen
Ein Memorandum zum Erwerb der Grundprüfung für die Python3-Ingenieurzertifizierung
[Python] Ein Programm, das den Inhalt der Liste nach links dreht