Python中如何根据控制变量动态拼接变量名并获取对应值?
Python动态赋值简化方案
完全可以实现,优先推荐字典映射的方案,更适合你有大量同类赋值的场景。
方案1:字典映射(最推荐)
把所有架构对应的配置统一存在字典中,后续新增配置只需要更新字典即可,不需要修改逻辑代码,可读性、可维护性都最高:
architecture = 'windows' # 统一管理所有架构配置 arch_config = { 'windows': 125, 'linux': 999 } # 一行完成赋值,支持配置默认值兼容异常场景 variable = arch_config[architecture] # 带默认值的写法:variable = arch_config.get(architecture, 0) 传入不存在的架构时不会报错
方案2:动态拼接变量名取值(不推荐常规场景使用)
如果你一定要按照「拼接变量名取对应值」的逻辑实现,Python也支持对应的语法,但这种写法会导致IDE无法做代码补全、拼写错误难排查,不建议常规场景使用:
- 若
arch_windows/arch_linux是全局变量,写法如下:
variable = globals()[f'arch_{architecture}']
- 若
arch_windows/arch_linux是函数内的局部变量,写法如下:
variable = locals()[f'arch_{architecture}']
内容的提问来源于stack exchange,提问作者rincEwind
相关产品推荐
相关产品推荐

