だから私は基本的に"ディラン ".ageをしたい。
どうすればいいですか?その値によってクラスの変数を呼び出しますか?
だから私は基本的に"ディラン ".ageをしたい。
どうすればいいですか?その値によってクラスの変数を呼び出しますか?
を返すゲッターを作成し、インスタンス変数ではないクラス変数です。そうであれば、すでにインスタンス "dylan"への参照がない限り、アクセスする方法はありません。
作成したすべてのインスタンスへの参照を保存する辞書を作れますか? men["dylan"] = Man("dylan", 42)
?
次に、men["dylan"].age
と書くことができます。
それは「名前」のように私には見える年齢
getAge
{
return self.age;
}
私はクラスの外にそれを呼びたい、f.ex私が持っている場合。 man1 = Man( "dylan"、2)と "dylan"と入力して "2"と呼んでいます – Poli
これは、各名前が一意である場合にのみ機能します。
まず、オブジェクトクラスに年齢と名前を返す2つのアクセサメソッドを作成します。
def get_name(self):
return self.name
def get_age(self):
return self.age
次に、リスト内の各オブジェクトを反復処理するforループを使用してメソッドを作成します。オブジェクト名を呼び出し、探している名前と比較し、一致する場合は年齢を返します。
def find_age_of(sought_name):
for obj in obj_list:
if (obj.get_name().lower() == sought_name.lower()): #'.lower' negates case differences
return sought_age = obj.get_age()
最後に、パラメータとして名前を使用して、このメソッドを呼び出します。
sought_name = 'dylan'
sought_age = find_age_of(sought_name)
ありがとうございました。 Steve Pitchersが私の目的のために良いアイデアかもしれないと示唆したように辞書を作成する。 :) – Poli
これはうまくいくでしょう:) – Poli