Python-Funktionen (def): Definition mit Beispielen

In diesem Artikel erfahren Sie mehr über Funktionen, die Funktionsweise, die Syntax, die Komponenten und die Arten von Funktionen. Außerdem lernen Sie, eine Funktion in Python zu erstellen.

Video: Einführung in Python-Funktionen

Was ist eine Funktion in Python?

In Python ist eine Funktion eine Gruppe verwandter Anweisungen, die eine bestimmte Aufgabe ausführen.

Funktionen helfen dabei, unser Programm in kleinere und modulare Teile zu unterteilen. Wenn unser Programm immer größer wird, wird es durch Funktionen organisierter und übersichtlicher.

Darüber hinaus werden Wiederholungen vermieden und der Code wiederverwendbar.

Syntax der Funktion

 def Funktionsname (Parameter): "" "docstring" "" Anweisung (en)

Oben ist eine Funktionsdefinition dargestellt, die aus den folgenden Komponenten besteht.

  1. Schlüsselwort def, das den Beginn des Funktionsheaders markiert.
  2. Ein Funktionsname zur eindeutigen Identifizierung der Funktion. Die Benennung von Funktionen folgt den gleichen Regeln zum Schreiben von Bezeichnern in Python.
  3. Parameter (Argumente), über die wir Werte an eine Funktion übergeben. Sie sind optional.
  4. Ein Doppelpunkt (:) markiert das Ende des Funktionsheaders.
  5. Optionale Dokumentationszeichenfolge (docstring) zur Beschreibung der Funktionsweise der Funktion.
  6. Eine oder mehrere gültige Python-Anweisungen, aus denen der Funktionskörper besteht. Anweisungen müssen dieselbe Einrückungsstufe haben (normalerweise 4 Leerzeichen).
  7. Eine optionale returnAnweisung, um einen Wert von der Funktion zurückzugeben.

Beispiel einer Funktion

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!")

Wie rufe ich eine Funktion in Python auf?

Sobald wir eine Funktion definiert haben, können wir sie von einer anderen Funktion, einem anderen Programm oder sogar der Python-Eingabeaufforderung aus aufrufen. Um eine Funktion aufzurufen, geben wir einfach den Funktionsnamen mit den entsprechenden Parametern ein.

 >>> greet('Paul') Hello, Paul. Good morning!

Hinweis: Führen Sie den obigen Code im Python-Programm mit der Funktionsdefinition aus, um die Ausgabe anzuzeigen.

 def greet(name): """ This function greets to the person passed in as a parameter """ print("Hello, " + name + ". Good morning!") greet('Paul')

Docstrings

Die erste Zeichenfolge nach dem Funktionsheader wird als Dokumentzeichenfolge bezeichnet und steht für Dokumentationszeichenfolge. Es wird kurz verwendet, um zu erklären, was eine Funktion tut.

Obwohl optional, ist die Dokumentation eine gute Programmierpraxis. Dokumentieren Sie immer Ihren Code, es sei denn, Sie können sich daran erinnern, was Sie letzte Woche zum Abendessen gegessen haben.

Im obigen Beispiel haben wir eine Dokumentzeichenfolge direkt unter dem Funktionsheader. Wir verwenden im Allgemeinen dreifache Anführungszeichen, damit sich die Dokumentzeichenfolge auf mehrere Zeilen erstrecken kann. Diese Zeichenfolge steht uns als __doc__Attribut der Funktion zur Verfügung.

Zum Beispiel :

Führen Sie die folgenden Schritte in der Python-Shell aus, um die Ausgabe anzuzeigen.

 >>> print(greet.__doc__) This function greets to the person passed in as a parameter

Weitere Informationen zu Docstrings in Python finden Sie unter Python Docstrings.

Die return-Anweisung

Die returnAnweisung wird verwendet, um eine Funktion zu beenden und zu dem Ort zurückzukehren, von dem aus sie aufgerufen wurde.

Syntax der Rückgabe

 return (expression_list)

Diese Anweisung kann einen Ausdruck enthalten, der ausgewertet und der Wert zurückgegeben wird. Wenn die Anweisung keinen Ausdruck enthält oder die returnAnweisung selbst nicht in einer Funktion vorhanden ist, gibt die Funktion das NoneObjekt zurück.

Beispielsweise:

 >>> print(greet("May")) Hello, May. Good morning! None

Hier Noneist der zurückgegebene Wert, da greet()der Name direkt gedruckt wird und keine returnAnweisung verwendet wird.

Beispiel für die Rückgabe

 def absolute_value(num): """This function returns the absolute value of the entered number""" if num>= 0: return num else: return -num print(absolute_value(2)) print(absolute_value(-4))

Ausgabe

 2 4

Wie funktioniert Function in Python?

Funktionieren von Funktionen in Python

Umfang und Lebensdauer von Variablen

Der Bereich einer Variablen ist der Teil eines Programms, in dem die Variable erkannt wird. Innerhalb einer Funktion definierte Parameter und Variablen sind von außerhalb der Funktion nicht sichtbar. Daher haben sie einen lokalen Geltungsbereich.

Die Lebensdauer einer Variablen ist der Zeitraum, in dem die Variable im Speicher beendet wird. Die Lebensdauer von Variablen innerhalb einer Funktion ist so lang, wie die Funktion ausgeführt wird.

Sie werden zerstört, sobald wir von der Funktion zurückkehren. Daher merkt sich eine Funktion nicht den Wert einer Variablen aus ihren vorherigen Aufrufen.

Hier ist ein Beispiel, um den Umfang einer Variablen innerhalb einer Funktion zu veranschaulichen.

 def my_func(): x = 10 print("Value inside function:",x) x = 20 my_func() print("Value outside function:",x)

Ausgabe

 Value inside function: 10 Value outside function: 20

Here, we can see that the value of x is 20 initially. Even though the function my_func() changed the value of x to 10, it did not affect the value outside the function.

This is because the variable x inside the function is different (local to the function) from the one outside. Although they have the same names, they are two different variables with different scopes.

On the other hand, variables outside of the function are visible from inside. They have a global scope.

We can read these values from inside the function but cannot change (write) them. In order to modify the value of variables outside the function, they must be declared as global variables using the keyword global.

Types of Functions

Basically, we can divide functions into the following two types:

  1. Integrierte Funktionen - In Python integrierte Funktionen.
  2. Benutzerdefinierte Funktionen - Von den Benutzern selbst definierte Funktionen.

Interessante Beiträge...