ホームページ >バックエンド開発 >Python チュートリアル >文字列名を使用して Python 変数にアクセスするにはどうすればよいですか?

文字列名を使用して Python 変数にアクセスするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-21 08:02:09464ブラウズ

How Can I Access Python Variables Using Their String Names?

文字列名による変数へのアクセス

Python では、文字列名によって変数に動的にアクセスしたい場合があります。これを実現するには、いくつかのアプローチを検討できます。

辞書の使用

一般的な方法の 1 つは、辞書を使用して文字列名と対応する値を関連付けることです。以下に例を示します。

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

print(get_ext['audio'])  # Output: ['mp3', 'wav']

辞書の 'get' メソッドへの割り当て

あるいは、辞書の 'get' メソッドを変数または関数。これにより、文字列名に基づいて値にアクセスする簡潔な方法が提供されます。

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

カスタム関数の使用

関数ベースのアプローチを希望する場合は、ラップすることができます。関数内の辞書を使用し、必要に応じて不明なキーを処理します。例:

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']

クラスベースのアプローチの使用

より複雑なシナリオの場合は、変数の検索を管理するクラスを作成できます。これにより柔軟性が提供され、認識されたファイル タイプを動的に更新できます。例:

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']

これらの手法を採用すると、Python で文字列名によって変数に効果的にアクセスでき、柔軟で動的なプログラミング パターンが可能になります。

以上が文字列名を使用して Python 変数にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。