Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Variablen in Python mithilfe einer String-Eingabe auswählen?

Wie kann ich Variablen in Python mithilfe einer String-Eingabe auswählen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-21 01:17:09873Durchsuche

How Can I Select Variables in Python Using a String Input?

Auswählen von Variablen nach String-Namen

Um eine Variable basierend auf einer String-Eingabe auszuwählen, gibt es mehrere praktikable Ansätze.

Wörterbuch

Hierfür eignet sich oft ein gewöhnliches Wörterbuch Aufgabe:

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']}

get_ext['video']  # returns ['mp4', 'mkv']

Funktion

Wenn eine Funktion aus bestimmten Gründen erforderlich ist, können Sie sie der get-Methode des Wörterbuchs zuweisen:

get_ext = get_ext.get  # Equivalent to get_ext = lambda key: get_ext.get(key)
get_ext('video')  # returns ['mp4', 'mkv']

Dies gibt standardmäßig „None“ für unbekannte Schlüssel zurück. Um stattdessen einen KeyError auszulösen, weisen Sie get_ext.__getitem__ zu:

get_ext = get_ext.__getitem__  # Equivalent to get_ext = lambda key: get_ext.__getitem__(key)
get_ext('video')  # returns ['mp4', 'mkv']

Benutzerdefinierter Standardwert

Sie können einen benutzerdefinierten Standardwert implementieren, indem Sie das Wörterbuch in a einschließen Funktion:

def get_ext(file_type):
    types = {'text': ['txt', 'doc'],
             'audio': ['mp3', 'wav'],
             'video': ['mp4', 'mkv']}

    return types.get(file_type, [])

Optimieren

Um zu vermeiden, dass das Wörterbuch bei jedem Funktionsaufruf neu erstellt wird, können Sie eine Klasse verwenden:

class get_ext(object):
    def __init__(self):
        self.types = {'text': ['txt', 'doc'],
                      'audio': ['mp3', 'wav'],
                      'video': ['mp4', 'mkv']}

    def __call__(self, file_type):
        return self.types.get(file_type, [])

get_ext = get_ext()

This ermöglicht die einfache Änderung erkannter Dateitypen:

get_ext.types['binary'] = ['bin', 'exe']
get_ext('binary')  # returns ['bin', 'exe']

Das obige ist der detaillierte Inhalt vonWie kann ich Variablen in Python mithilfe einer String-Eingabe auswählen?. 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