Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich in Python über ihre String-Namen auf Variablenwerte zugreifen?

Wie kann ich in Python über ihre String-Namen auf Variablenwerte zugreifen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-11 11:54:11806Durchsuche

How Can I Access Variable Values Using Their String Names in Python?

Zugriff auf Variablenwerte über den String-Namen

In vielen Szenarien kann die stringbasierte Variablensuche mithilfe von Wörterbüchern erreicht werden. So geht's:

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

Jetzt können Sie die gewünschte Liste durch die String-Eingabe abrufen:

get_ext['audio']  # ['mp3', 'wav']

Wenn Sie lieber eine Funktion verwenden möchten, können Sie die get-Methode des Wörterbuchs zuweisen oder seine Elementabrufmethode (__getitem__) dazu:

get_ext = get_ext.get
get_ext('video')  # ['mp4', 'mkv']

Die Zuweisung zu get_ext.get bietet ein Standardverhalten der Rückgabe Keine für unbekannte Schlüssel. Weisen Sie für einen KeyError stattdessen get_ext.__getitem__ zu.

Alternativ können Sie das Wörterbuch in eine Funktion einschließen, um einen benutzerdefinierten Standardwert bereitzustellen:

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

Um das Setup zu optimieren, können Sie Folgendes tun: Definieren Sie eine Klasse mit einer call-Methode, um die Suche abzuwickeln:

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, [])

This Der Ansatz verbessert die Effizienz, indem das Typenwörterbuch nur einmal erstellt wird, und ermöglicht dynamische Aktualisierungen:

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

Das obige ist der detaillierte Inhalt vonWie kann ich in Python über ihre String-Namen auf Variablenwerte zugreifen?. 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