オブジェクトのアトリビュートにアクセスする際に問題が発生しています。割り当て自体はオブジェクトの属性の数を比較する多数のアルゴリズムを作成していますが、属性にアクセスすることができなかったことを考慮すると、それを得ることさえできません。オブジェクトのオブジェクトのアトリビュートにアクセスすると、pythonで属性エラーが発生します
私は下記のコードと同様のコードスニペットを書いています。私が問題を抱えているのは、list_of_things.items[0].attribute1
にアクセスしようとするときです。私は変更することはできませんよ
class Thing:
def __init__(self, attribute1='y', attribute2='n'):
self.attribute1, self.attribute2 = attribute1, attribute2
def give_a_thing(self):
return self
class ThingOfThings:
def __init__(self, items=[]):
self.items = items
def get_thing(self, thing):
self.items += [thing]
list_of_things = ThingOfThings()
one_thing = Thing()
for i in range(2):
list_of_things.get_thing(one_thing.give_a_thing)
print(list_of_things.items[0].attribute1)
:私は正しく項目にアクセスしてることを確認するために、単純に印刷しようとしていますが、私は次のエラーを取得しています:
Traceback (most recent call last):
File "./test.py", line 22, in <module>
print(list_of_things.items[0].attribute1)
AttributeError: 'function' object has no attribute 'attribute1'
同様のコードは以下の通りですいずれかのクラスが、私の割り当てにdefを追加します。
質問:
- 私はlist_of_thingsからいずれかの属性にアクセスするにはどうすればよいですか?
- 属性にアクセスするにはどうすればよいですか?
items[0].attribute1
が上attribute
にアクセスしようとしているので、AttributeError: 'function' object has no attribute 'attribute1'
そして、それは次のようになります。(仕事が印刷されますか、アドレスを与える)
が、 '[]' 'items'が_The同じinstance_でのデフォルト引数にコンストラクタが呼び出されるたびに呼び出されます。 –
問題には関係ありませんが、修正が必要な次のバグになる可能性が高いので、注意してください。 – Pablo