暇つぶし2chat TECH
- 暇つぶし2ch359:デフォルトの名無しさん
19/02/24 22:22:06.63 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)も同じキーでアクセスできるように出来ないでしょうか?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch