通过字符串名称访问变量值
对于许多场景,基于字符串的变量查找可以使用字典来实现。具体方法如下:
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中文网其他相关文章!