部屋を含む Dungeon オブジェクトがあります。各部屋には名前があります。クライアントからこの API を受け入れるクラスを設計したいと思います。
dungeon = Dungeon()
room = dungeon.room['room_name']
これまでのところ、次のようなものを設計できました。
dungeon = Dungeon()
room = dungeon.room('room_name')
str パラメータを取り、部屋を名前で検索するメソッドをコーディングするのは簡単です。
しかし、ルームの「アクセサ」を辞書のように動作させたい場合はどうすればよいでしょうか。私のオプションは何ですか?
私はこれについて考えましたが、真の初心者であるため、決定できません。
__getattribute__
メソッドをオーバーライドして、dict のサブタイプを作成します。
私が気に入らないのは、クライアントがこれを行うことができることです:
dungeon.room.keys()
ただし、すべての部屋の名前を発見してください。
質問が専門家にとってばかげているように聞こえる場合は...申し訳ありません。他に何が言えますか?