In Python, dienen Funktionen als Grundlage für einem komplexen Projekt . Die Praxis der Prototyping -Funktionen oder erklärt sie, bevor sie zu definieren , gibt es schon seit der Erfindung der Programmiersprache C gewesen . Nicht alle Sprachen gleich verhalten . Während Sprachen wie C typischerweise Funktions-Prototyping erfordern , tun Sprachen wie Python nicht . In der Tat hat Python keine wirkliche Mechanismus Prototyping unterstützen. Dies ist aufgrund der Art, Python Funktionen handhabt . Funktionen
Funktionen sind Codeblöcke, die einen Namen und Speicherplatz vom Compiler oder Interpreter des Programms gegeben sind. Ähnlich wie eine mathematische Funktion , zu Programmierfunktionen Argumente in Form von Variablen , auf die sie führen eine Aufgabe und produzieren einige Ergebnis. Funktionen Hilfe Programmierer in diesem einmal erstellt , kann der Programmierer weiterhin, dass dieselbe Funktion während eines Programms einfach durch ihren Namen und liefert die entsprechenden Argumente nennen .
Funktion Prototypen
in der Programmiersprache C , Definition von Funktionen in einem Programm erfordert eine gewisse Ordnung . Nach den " Präprozessor "-Befehle , die externe Bibliotheken enthalten und Makros definieren , muss der Programmierer erklären den " Prototyp " für jede Funktion im Programm verwendet , mit Ausnahme der "main" -Funktion. Der Prototyp weist den C-Compiler , beiseite Speicher für eine Funktion der Montage der Definition des Prototyps .
Stürmer Verweisen
Da C-Programme verwenden Prototypen als Teil ihrer Syntax , sind C-Funktionen in einem Programm oft "forward Referenzierung ", was bedeutet , dass die Funktionen in dem Programm verwendet wird nicht erst nach dem Programm-Code definiert werden. Im Wesentlichen bedeutet vorwärts verweisen , dass der Compiler die Ausführung einer Funktion , in dem Verständnis, dass die Funktion später im Programm definiert werden können. Da C verwendet Prototyping , Funktionen werden in der Regel erst nach dem Hauptprogramm definiert , dh alle Funktionen freuen verweisen .
Python and Forward Verweisen
Python -Interpreter nicht erlaubt Funktions-Prototyping . Die "def "-Befehl in Python Funktionen als Befehl , um eine Funktion zu erstellen. Dies bedeutet, dass die Funktion auf der Stelle geschaffen wird. Der Interpreter nicht akzeptieren, dass eine Funktion " werden " in irgendwann in der Zukunft definiert. Das einzige, was der Python-Interpreter für aussieht, ist , wenn die Funktion verwendet werden soll. Zum Beispiel wird der erste Aufruf von "foo" funktionieren nicht, weil "foo" ist nicht definiert worden . Der zweite Aufruf innerhalb der Klasse A , weil ein Objekt der Klasse A erstellt, nachdem foo deklariert werden :
foo () //forward Referenzierung
Klasse A: def __ init__ ( self): foo ()
def foo () : print " Hallo "
a = A () //nicht vorwärts Referenzierung