首頁 > 後端開發 > Python教學 > 如何使用字串輸入在 Python 中選擇變數?

如何使用字串輸入在 Python 中選擇變數?

Patricia Arquette
發布: 2024-12-21 01:17:09
原創
985 人瀏覽過

How Can I Select Variables in Python Using a String Input?

透過字串名稱選擇變數

要根據字串輸入選擇變量,有幾種可行的方法。

字典

普通字典通常適合於此任務:

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

get_ext['video']  # returns ['mp4', 'mkv']
登入後複製

函數

如果由於特定原因需要函數,可以分配給字典的get方法:

get_ext = get_ext.get  # Equivalent to get_ext = lambda key: get_ext.get(key)
get_ext('video')  # returns ['mp4', 'mkv']
登入後複製

預設情況下,未知鍵將傳回 None 。要引發 KeyError,請指派給get_ext.__getitem__:

get_ext = get_ext.__getitem__  # Equivalent to get_ext = lambda key: get_ext.__getitem__(key)
get_ext('video')  # returns ['mp4', 'mkv']
登入後複製

自訂預設值

您可以將字典包裝在函數:

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

    return types.get(file_type, [])
登入後複製

您可以將字典包裝在函數:

最佳化

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')  # returns ['bin', 'exe']
登入後複製
這個允許輕鬆修改已識別的檔案類型:

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

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