首页 >后端开发 >Python教程 >如何使用字符串输入在 Python 中选择变量?

如何使用字符串输入在 Python 中选择变量?

Patricia Arquette
Patricia Arquette原创
2024-12-21 01:17:09871浏览

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