首頁 > 後端開發 > Python教學 > 如何在 Python 中使用字串名稱存取變數值?

如何在 Python 中使用字串名稱存取變數值?

Patricia Arquette
發布: 2024-12-11 11:54:11
原創
772 人瀏覽過

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

透過字串名稱存取變數值

對於許多場景,基於字串的變數查找可以使用字典來實現。具體方法如下:

get_ext = {'text': ['txt', 'doc'],
           'audio': ['mp3', 'wav'],
           'video': ['mp4', 'mkv']}
登入後複製

現在,您可以透過字串輸入檢索所需的清單:

get_ext['audio']  # ['mp3', 'wav']
登入後複製

如果您喜歡使用函數,您可以指定字典的get 方法或其專案取得方法(__getitem__):

get_ext = get_ext.get
get_ext('video')  # ['mp4', 'mkv']
登入後複製

指派給get_ext.get 提供預設值對於未知鍵傳回None的行為。對於 KeyError,請指派給 get_ext.__getitem__。

或者,您可以將字典包裝在函數中以提供自訂預設值:

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

要最佳化設置,您可以定義一個帶有 call方法的類別來處理查找:

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()
get_ext.types['binary'] = ['bin', 'exe']
get_ext('binary')  # ['bin', 'exe']
登入後複製

以上是如何在 Python 中使用字串名稱存取變數值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板