So rufen Sie eine Funktion auf in Python (Beispiel)

⚡ Intelligente Zusammenfassung

Funktionen in Python Es handelt sich um wiederverwendbare Codeblöcke, die bei Aufruf ausgeführt werden und mit der `def`-Anweisung definiert sind. Sie akzeptieren Argumente, geben Werte zurück und verwenden eine einheitliche Einrückung, um die Anweisungen innerhalb einer Funktion zu gruppieren.

  • 🧩 def-Anweisung: Eine Funktion wird mit def, einem Namen und Klammern definiert, gefolgt von einem Doppelpunkt, der den eingerückten Anweisungsblock einleitet.
  • 📞 Aufruf von Funktionen: Schreibt man den Funktionsnamen gefolgt von Klammern, wird der zugehörige Code ausgeführt, sodass dieselbe Logik viele Male wiederverwendet werden kann.
  • Vertiefung: Python Der Funktionskörper wird durch konsistente Einrückung anstelle von geschweiften Klammern gruppiert, sodass ein fehlendes Leerzeichen einen IndentationError auslöst.
  • 🎯 Argumente: Die in den Klammern übergebenen Werte werden zu Parametern, und Standardwerte oder Schlüsselwortargumente machen jeden Aufruf flexibel.
  • Rückgabewerte: Die return-Anweisung gibt ein Ergebnis an den Aufrufer zurück; ohne sie gibt eine Funktion None zurück.
  • 🤖 KI-Unterstützung: KI-Assistenten wie GitHub Copilot generieren Funktionsgerüste, Argumente und Docstrings anhand einer kurzen Eingabeaufforderung.

So rufen Sie eine Funktion auf in Python

Was ist Funktion in Python?

A Funktion in Python Eine Methode ist ein Codeabschnitt, der beim Aufruf ausgeführt wird. Sie dient dazu, Code an mehreren Stellen innerhalb eines Programms zu verwenden. Sie wird auch als Methode oder Prozedur bezeichnet. Python Es bietet viele integrierte Funktionen wie print(), input(), compile() und exec(), gibt Ihnen aber auch die Freiheit, Ihre eigenen Funktionen zu erstellen.

So definieren und rufen Sie eine Funktion in Python

Eine Funktion in Python wird durch die „def“-Anweisung, gefolgt vom Funktionsnamen und Klammern ( () ), definiert.

Ejemplo:

Wir definieren eine Funktion mit dem Befehl „def func1():“ und rufen diese auf. Die Ausgabe der Funktion lautet: „Ich lerne Python Funktion".

Definieren und Aufrufen einer Funktion in Python

Der Funktionsaufruf func1() ruft unsere Definition func1() auf und gibt den Befehl „Ich lerne“ aus. Python Funktion: Keine.

Es gibt eine Reihe von Regeln in Python Programmierung um eine Funktion zu definieren.

  • Alle Argumente oder Eingabeparameter müssen innerhalb dieser Klammern stehen.
  • Die erste Anweisung der Funktion kann eine optionale Anweisung sein – der Docstring oder Dokumentationsstring der Funktion.
  • Der Code innerhalb jeder Funktion beginnt mit einem Doppelpunkt (:) und sollte eingerückt werden (Leerzeichen).
  • Die Anweisung `return (Ausdruck)` beendet eine Funktion und gibt optional einen Wert an den Aufrufer zurück. Eine `return`-Anweisung ohne Argumente entspricht `return None`.

Bedeutung der Einrückung (Leerzeichen) in Python

Bevor wir uns damit vertraut machen Python Funktionen ist es wichtig, dass wir die Einrückungsregel verstehen, um zu deklarieren Python Funktionen, und diese Regeln gelten auch für andere Elemente von Python ebenso wie das Deklarieren von Bedingungen, Schleifen oder Variablen.

Python folgt einem bestimmten Einrückungsstil zur Definition des Codes. Python Funktionen haben keine expliziten Anfangs- und Endzeichen wie geschweifte Klammern, die den Beginn und das Ende der Funktion kennzeichnen; sie sind auf die Einrückung angewiesen. Betrachten wir dazu das einfache Beispiel des Befehls „print“. Wenn wir die Funktion „print“ direkt unter die Zeile `def func1():` schreiben, erhalten wir die Fehlermeldung „Einrückungsfehler: Einrückung erwartet“.

Definieren und Aufrufen einer Funktion in Python

Wenn Sie nun vor der „print“-Funktion einen Einzug (ein Leerzeichen) einfügen, sollte die Ausgabe wie erwartet erfolgen.

Definieren und Aufrufen einer Funktion in Python

Mindestens ein Einrücken genügt, damit Ihr Code korrekt funktioniert. Es empfiehlt sich jedoch, etwa 3–4 Leerzeichen Einrückung zu lassen, um Ihre Funktion aufzurufen.

Es ist außerdem wichtig, dass Sie beim Festlegen der Einrückung diese für den restlichen Code beibehalten. Wenn wir beispielsweise im folgenden Screenshot eine weitere Anweisung („still in func1“) aufrufen, die nicht direkt unter der ersten print-Anweisung deklariert ist, wird ein Einrückungsfehler angezeigt: „unindent stimmt mit keiner anderen Einrückungsebene überein.“

Definieren und Aufrufen einer Funktion in Python

Wenn wir nun für beide Anweisungen die gleiche Einrückung verwenden und sie in derselben Zeile ausrichten, erhalten wir die erwartete Ausgabe.

Definieren und Aufrufen einer Funktion in Python

Wie funktioniert der Rückgabewert?

Der Return-Befehl in Python Gibt an, welcher Wert an den Aufrufer der Funktion zurückgegeben werden soll. Betrachten wir dazu das folgende Beispiel.

Schritt 1) ​​Die Funktion gibt nichts zurück

Hier sehen wir, wann eine Funktion keinen Rückgabewert liefert. Angenommen, wir möchten das Quadrat von 4 berechnen, und die Funktion sollte bei Ausführung des Codes das Ergebnis „16“ liefern. Das tut sie auch, wenn wir einfach den Code „print x*x“ verwenden. Ruft man jedoch die Funktion „print square“ auf, gibt sie „None“ aus. Das liegt daran, dass beim Funktionsaufruf keine Rekursion stattfindet und die Funktion am Ende abbricht. Python Gibt "None" zurück, wenn das Ende der Funktion überschritten wird.

Definieren und Aufrufen einer Funktion in Python

Schritt 2) Ersetzen Sie den Druckbefehl durch einen Zuweisungsbefehl.

Um dies zu verdeutlichen, ersetzen wir den Druckbefehl durch einen Zuweisungsbefehl. Schauen wir uns die Ausgabe an.

Definieren und Aufrufen einer Funktion in Python

Der Befehl „print square (4)“ gibt normalerweise den Wert des Objekts zurück. Da wir hier keine spezifische Funktion ausführen, wird „None“ zurückgegeben.

Schritt 3) Verwenden Sie die Funktion 'return' und führen Sie den Code aus.

Nun sehen wir uns an, wie man die Ausgabe mithilfe des Befehls „return“ abruft. Wenn Sie die Funktion „return“ verwenden und den Code ausführen, erhalten Sie die Ausgabe „16“.

Definieren und Aufrufen einer Funktion in Python

Schritt 4) Führen Sie den Befehl „Quadrat drucken“ aus.

Funktionen in Python sind selbst ein Objekt, und ein Objekt hat einen Wert. Wir werden hier sehen, wie Python Die Funktion verarbeitet ein Objekt. Wenn Sie den Befehl „print square“ ausführen, gibt er den Wert des Objekts zurück. Da wir kein Argument übergeben haben, gibt es keine spezifische Funktion, die hier aufgerufen werden könnte. Daher wird ein Standardwert (0x021B2D30) zurückgegeben, der der Speicherort des Objekts entspricht. In der Praxis Python Bei diesem Programm werden Sie das wahrscheinlich nie brauchen.

Definieren und Aufrufen einer Funktion in Python

Argumente in Funktionen

Ein Argument ist ein Wert, der der Funktion beim Aufruf übergeben wird.

Mit anderen Worten: Auf der Aufruferseite ist es ein Argument, auf der Funktionsseite ein Parameter.

Mal sehen wie Python Die Argumente funktionieren.

Schritt 1) Die Argumente werden in der Funktionsdefinition deklariert. Beim Aufruf der Funktion können Sie die Werte für diese Argumente wie unten gezeigt übergeben.

Definieren und Aufrufen einer Funktion in Python

Schritt 2) Um einen Standardwert für ein Argument festzulegen, weisen Sie ihm bei der Funktionsdefinition einen Wert zu.

Definieren und Aufrufen einer Funktion in Python

Ejemplo: x hat keinen Standardwert. Der Standardwert von y ist 0. Wenn wir beim Aufruf der Multiplikationsfunktion nur ein Argument angeben, Python weist x den angegebenen Wert zu, solangeping Der Wert von y ist gleich 0. Daher ist das Produkt von x*y gleich 0.

Definieren und Aufrufen einer Funktion in Python

Schritt 3) Diesmal ändern wir den Wert auf y=2 anstatt des Standardwerts y=0, und es wird die Ausgabe (4×2)=8 zurückgegeben.

Definieren und Aufrufen einer Funktion in Python

Schritt 4) Sie können auch die Reihenfolge ändern, in der die Argumente übergeben werden. PythonHier haben wir die Reihenfolge der Werte x und y umgekehrt, sodass x=4 und y=2 gilt.

Definieren und Aufrufen einer Funktion in Python

Schritt 5) Mehrere Argumente können auch als Array übergeben werden. In diesem Beispiel rufen wir die mehreren Argumente (1,2,3,4,5) mit der Funktion (*args) auf.

Ejemplo: Wir haben mehrere Argumente als die Zahlen (1,2,3,4,5) deklariert; wenn wir die Funktion (*args) aufrufen, gibt sie die Ausgabe als (1,2,3,4,5) aus.

Definieren und Aufrufen einer Funktion in Python

Tipps:

  • In Python In Version 2.7 wird Funktionsüberladung nicht unterstützt. Funktionsüberladung ermöglicht es, mehrere Methoden mit demselben Namen, aber unterschiedlicher Implementierung zu erstellen. In Version 2.7 wird Funktionsüberladung vollständig unterstützt. Python 3.
  • Es herrscht eine ziemliche Verwirrung zwischen Methoden und Funktionen. Methoden in Python sind Objektinstanzen zugeordnet, Funktionen hingegen nicht. Python eine Methode aufruft, bindet sie den ersten Parameter dieses Aufrufs an die entsprechende Objektreferenz. Einfach ausgedrückt, eine eigenständige Funktion in Python ist eine „Funktion“, während eine Funktion, die ein Attribut einer Klasse oder einer Instanz ist, eine „Methode“ ist.

Hier ist das komplette Python 3 Code

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

Hier ist das komplette Python 2 Code

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

Häufig gestellte Fragen

Ja. EIN Python Eine Funktion kann mehrere Werte zurückgeben, indem sie diese nach dem Schlüsselwort return durch Kommas trennt. Python packt sie in ein Tupel, das der Aufrufer in separate Variablen entpacken kann, zum Beispiel a, b = func().

*args sammelt zusätzliche Positionsargumente in einem Tupel, während **kwargs zusätzliche Schlüsselwortargumente in einem Wörterbuch sammelt. Beide ermöglichen es einer Funktion, eine variable Anzahl von Eingaben zu akzeptieren. Die Namen args und kwargs sind lediglich eine Konvention, keine zwingende Voraussetzung.

Ein Docstring ist ein Stringliteral, das als erste Anweisung innerhalb einer Funktion steht, um deren Funktionsweise zu dokumentieren. Er wird in dreifache Anführungszeichen gesetzt und kann zur Laufzeit über das __doc__-Attribut der Funktion oder die help()-Funktion ausgelesen werden.

Eine Lambda-Funktion ist eine kleine anonyme Funktion, die in einer Zeile mit dem Schlüsselwort `lambda` anstelle von `def` definiert wird. Sie eignet sich für kurze, temporäre Logik, die an Funktionen wie `map()`, `filter()` und `sorted()` übergeben wird. Siehe hier. Lambda-Funktion -Guide.

Ja. Eine Funktion, die sich selbst aufruft, ist eine rekursive Funktion. Rekursion löst Probleme, die sich in kleinere, ähnliche Teilprobleme zerlegen lassen, wie beispielsweise Fakultäten. Jede rekursive Funktion benötigt einen Basisfall, der die Aufrufe beendet, andernfalls... Python löst einen RecursionError aus.

Eine lokale Variable wird innerhalb einer Funktion erstellt und existiert nur während der Ausführung dieser Funktion. Eine globale Variable wird außerhalb aller Funktionen definiert und ist überall sichtbar. Um eine globale Variable innerhalb einer Funktion zu ändern, muss sie zuvor mit dem Schlüsselwort `global` deklariert werden.

GitHub Copilot schlägt anhand des Funktionsnamens oder eines kurzen Kommentars einen vollständigen Funktionskörper vor, inklusive Parametern, Rückgabewerten und Docstrings. Es bietet außerdem Unterstützung für Sonderfälle und Tests, sodass Sie sich auf die Logik anstatt auf die Details konzentrieren können.ping Standarddefinitionsblöcke.

Funktionen strukturieren KI- und Machine-Learning-Code in wiederverwendbare Schritte wie Datenladen, Vorverarbeitung, Training und Evaluierung. Sie sorgen für lesbare und testbare Experimente, und Frameworks wie TensorFlow und scikit-learn machen einen Großteil ihres Verhaltens durch aussagekräftig benannte Funktionen sichtbar, die aufgerufen werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: