You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何从外部模块动态拼接属性名获取对应变量值

解决方案

Python 不支持直接通过点运算符拼接字符串的方式动态获取对象/模块属性,要实现该需求,需使用内置函数getattr(),传入目标对象、属性名字符串即可完成取值。

原场景修正后代码

current_gun_name = string_assigned_above
iron = win32api.GetAsyncKeyState(0x67)
if iron < KeyMin and win32api.GetAsyncKeyState(0x11) < 0:
    gun_type = getattr(values, current_gun_name + "_Iron")

简化示例的实现代码

import values

current_string = "test"
target_attr_name = current_string + "ing"
testing_list = getattr(values, target_attr_name)
print(testing_list)

可选优化

如果担心属性不存在抛出AttributeError异常,可以给getattr()传入第三个参数作为默认返回值,示例:

# 找不到对应属性时默认返回空列表
gun_type = getattr(values, current_gun_name + "_Iron", [])

内容的提问来源于stack exchange,提问作者DylanCodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:36:04