私は今、しばらくの間、この問題に問題がありましたし、次は、問題の例である:他のクラスのインスタンスのプロパティにアクセスできないのはなぜですか?
class Player(object):
def __init__(self):
self.weapon = "rifle"
self.rifle_test = Rifle(self)
self.dictionary = {}
self.dictionary["rifle"] = self.rifle_test
def check(self):
print(self.weapon)
print(self.dictionary[self.weapon].ammo)
class Rifle(object):
def __init__(self, player):
self.ammo = 10
self.player = player
self.player.check()
player_test = Player()
私はプレイヤー(「player_test」)とライフルを持っている(「rifle_test」)。 Rifle()内でcheck()を呼び出すと、コンソールに何も表示されません。私は、2つのクラスを分離し、player_testなどでrifle_testを持たないものを動かしてみました。主な問題は次のとおりです。別のインスタンスから特定のインスタンスの関数を実行すると、関数は実行されますが、それはそれを運ぶインスタンスから実行された。言い換えると、私がRifle()からcheck()を実行すると、player_testから実行する場合とは異なります。関数を、player_testから実行するのと同じ方法で実行する方法はありますか?ありがとう。
ハムスの答えに加えて、「ライフル」は 'player'パラメータを必要としますか? – 101