Heim  >  Artikel  >  Backend-Entwicklung  >  Wie transformiere ich Strings in Python-Operatorfunktionen?

Wie transformiere ich Strings in Python-Operatorfunktionen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-15 14:54:02572Durchsuche

How to Transform Strings into Python Operator Functions?

Zeichenfolgen in Operatoren umwandeln

Die Frage stellt eine Herausforderung dar: Wie können wir eine gegebene Zeichenfolge konvertieren, die einen Operator darstellt, z. B. „ “? in die entsprechende Python-Operatorfunktion, z. B. „operator.add?“ einfügen.

Nachschlagetabellen-Ansatz

Wie die Antwort vermuten lässt, besteht eine effektive Lösung in der Verwendung einer Nachschlagetabelle. Diese Tabelle verknüpft Operatorzeichenfolgen mit ihren entsprechenden Funktionen:

import operator

ops = { 
    "+": operator.add, 
    "-": operator.sub, 
    "*": operator.mul, 
    "/": operator.truediv, 
    "**": operator.pow 
}

Wir können diese Tabelle dann verwenden, um die Operatorfunktion basierend auf der Eingabezeichenfolge abzurufen:

op_string = "+"   # represents the plus operator

# Look up the corresponding operator function
op_function = ops[op_string]

# Use the function to perform an operation
result = op_function(1, 2)  # returns 3

print(result)

Dieser Ansatz bietet eine flexible Möglichkeit, mit verschiedenen Operatoren und den damit verbundenen Funktionen umzugehen. Dadurch können wir die Nachschlagetabelle bei Bedarf problemlos um zusätzliche Operatoren erweitern.

Das obige ist der detaillierte Inhalt vonWie transformiere ich Strings in Python-Operatorfunktionen?. 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