for循环中的引用类属性

2024-10-02 08:20:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python类的新手,希望有人能解释我为什么会遇到这个问题。你知道吗

我有一门课:

class TrackingMeasure:
    Touches = 'Possessions'
    DefensiveImpact = 'Defense'

当我尝试运行此循环时:

tracking_refs = ['Touches','DefensiveImpact']
for x in tracking_refs:
    print(TrackingMeasure.x)

我得到这个错误:

AttributeError: type object 'TrackingMeasure' has no attribute 'x'

我相信这将是很容易有人解释,所以任何帮助将不胜感激。你知道吗


Tags: infortype错误trackingclassattributeerrorprint
3条回答

您可以使用getattr

tracking_refs = ['Touches','DefensiveImpact']
for x in tracking_refs:
    print(getattr(TrackingMeasure, x))

您需要使用类的内部dict来执行此操作:

print(TrackingMeasure.__dict__[x])

getattr(对象,字符串)

this_tm = TrackingMeasure
for x in tracking_refs:
    print(getattr(this_tm,x))

相关问题 更多 >

    热门问题