- 359 名前:デフォルトの名無しさん mailto:sage [2019/02/24(日) 22:22:06.63 ID:mG+2Y3tM.net]
- pythonのクラスメンバへのアクセスのことで質問です
クラスのメンバに次の2通りの方法でアクセスしたいのです。 (1)ピリオドを使ってアクセスする (2)辞書のようにアクセスする それぞれ単独では実現できるのですが、両方同時に成立させる ことが出来なくて困っています。 最初に(1)のために次のように実装してみます class Foo(): def __init__(self, x): sel.x = x @property def x(self): return self.x @x.setter def x(self, x): self.x=x これだとエラーになるためxを_xにすると上手くいきます しかしそうすると__dict__がxではなく_xをキーとしてしまうため def __getitem__ を実装してもキーはxではなく_xになるため f=Foo()とすると (1)のアクセスは f.x (2)のアクセスはf["_x"] ということになってしまうのです。 (1)も(2)も同じキーでアクセスできるように出来ないでしょうか?
|

|