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
Freigeben: 2024-12-21 01:17:09
Original
870 Leute haben es durchsucht

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']
Nach dem Login kopieren

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']
Nach dem Login kopieren

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']
Nach dem Login kopieren

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, [])
Nach dem Login kopieren

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()
Nach dem Login kopieren

This ermöglicht die einfache Änderung erkannter Dateitypen:

get_ext.types['binary'] = ['bin', 'exe']
get_ext('binary')  # returns ['bin', 'exe']
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage