クラスが辞書として「使用」されたときに独自のプロパティの1つにアクセスするエレガントで簡潔な方法があるかどうかを理解しようとしています。基本的に、順序付けられた辞書に実装されるすべてのメソッドをその1つにリダイレクトしますプロパティ。
現在、私は IterableUserDict から継承し、そのデータを別のプロパティに明示的に設定していますが、動作しているように見えますが、UserDict は古いものと見なされていることを知っており、何かを見落としているのではないかと心配しています。
私が持っているもの:
class ConnectionInterface(IterableUserDict):
def __init__(self, hostObject):
self._hostObject= hostObject
self.ports= odict.OrderedDict()
self.inputPorts= odict.OrderedDict()
self.outputPorts= odict.OrderedDict()
self.data= self.ports
このようにして、オブジェクトが意図したとおりに動作し、応答する (そして使用される) ことを期待します。これが myObject にある場合は、ala を検索しました。
アドバイスを歓迎します。上記は正常に機能しているようですが、何かが足りないのではないかという奇妙なかゆみがあります。
前もって感謝します。