透過字串名稱存取變數值
對於許多場景,基於字串的變數查找可以使用字典來實現。具體方法如下:
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中文網其他相關文章!