0

私は配列を持っていrowます。actorオブジェクトの一連の属性を配列に追加したいと考えています。ただし、すべてのアクターがそれぞれの属性を持っているわけではありません。

属性が存在する場合は追加し、存在しない場合は追加するループを実行したいと思います'none'

tryまたはを使用して、ループ内でテストを行う方法が見つからないようですhasattr。これは私が得た限りです。もちろん、属性はループの外で参照されるため、機能しません。

for attribute in [actor.x, actor.y, actor.parent, actor.force, actor.hunger, actor.size]:
    try:
        row.append(attribute)
    except AttributeError:
        row.append('none')

これについて最善の方法は何ですか?

4

1 に答える 1