首页 > 后端开发 > Python教程 > 如何在 Python 中使用字符串名称访问变量值?

如何在 Python 中使用字符串名称访问变量值?

Patricia Arquette
发布: 2024-12-11 11:54:11
原创
770 人浏览过

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
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板