Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Funktion in Python mithilfe eines Strings dynamisch aufrufen?

Wie kann ich eine Funktion in Python mithilfe eines Strings dynamisch aufrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-22 05:17:09527Durchsuche

How Can I Dynamically Call a Function in Python Using a String?

Dynamisches Aufrufen einer Funktion mithilfe einer Zeichenfolge

Das Aufrufen einer Funktion mithilfe einer Zeichenfolge, die den Namen der Funktion enthält, kann in bestimmten Szenarien nützlich sein. So können Sie dies erreichen:

Verwendung von getattr()

Mit der Funktion getattr() können Sie Attribute dynamisch abrufen. Um eine Funktion mithilfe einer Zeichenfolge aufzurufen, können Sie den folgenden Ansatz verwenden:

import foo
func_name = "bar"
bar = getattr(foo, func_name)
result = bar()

In diesem Beispiel importieren wir das foo-Modul und verwenden dann func_name, um den Verweis auf die bar-Funktion mit getattr( abzurufen ). Schließlich können wir die Funktion aufrufen und das Ergebnis in result speichern.

getattr() verstehen

getattr() benötigt zwei Argumente:

  • Das erste Argument ist die Objektinstanz, von der das Attribut abgerufen wird (hier das foo-Modul).
  • Das zweite Argument ist das String-Name des Attributs, das Sie abrufen möchten (hier „bar“).

getattr() kann nicht nur für den Zugriff auf Funktionen, sondern auch auf Klasseninstanz-gebundene Methoden, Methoden auf Modulebene usw. verwendet werden sogar Klassenmethoden.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Funktion in Python mithilfe eines Strings dynamisch aufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn