Accès aux variables par noms de chaînes
En Python, vous pouvez rencontrer des situations dans lesquelles vous souhaitez accéder dynamiquement aux variables par leurs noms de chaînes. Pour y parvenir, vous pouvez envisager plusieurs approches.
Utiliser un dictionnaire
Une méthode courante consiste à utiliser un dictionnaire pour associer les noms de chaînes à leurs valeurs correspondantes. Voici un exemple :
get_ext = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } print(get_ext['audio']) # Output: ['mp3', 'wav']
Attribution à la méthode 'get' du dictionnaire
Alternativement, vous pouvez attribuer la méthode 'get' du dictionnaire à une variable ou fonction. Cela fournit un moyen concis d'accéder aux valeurs basées sur les noms de chaînes.
get_ext = get_ext.get print(get_ext('video')) # Output: ['mp4', 'mkv']
Utilisation d'une fonction personnalisée
Si vous préférez une approche basée sur les fonctions, vous pouvez envelopper le dictionnaire dans une fonction et gérer les clés inconnues selon les besoins. Par exemple :
def get_ext(file_type): types = {'text': ['txt', 'doc'], 'audio': ['mp3', 'wav'], 'video': ['mp4', 'mkv'] } return types.get(file_type, []) print(get_ext('audio')) # Output: ['mp3', 'wav']
Utiliser une approche basée sur les classes
Pour des scénarios plus complexes, vous pouvez créer une classe pour gérer la recherche de variables. Cela offre de la flexibilité et permet des mises à jour dynamiques des types de fichiers reconnus. Par exemple :
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() print(get_ext('audio')) # Output: ['mp3', 'wav'] get_ext.types['binary'] = ['bin', 'exe'] print(get_ext('binary')) # Output: ['bin', 'exe']
En adoptant ces techniques, vous pouvez accéder efficacement aux variables par noms de chaîne en Python, permettant ainsi des modèles de programmation flexibles et dynamiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!