インスタンスが持つプロパティの名前だけを取得する方法がPython(2.6)にあるかどうか疑問に思っていました。インスタンスのプロパティのみを取得する
はのは、私が持っているとしましょう:
#!/usr/bin/python2.6
class MyClass(object):
def __init__(self):
self._x = None
@property
def x(self):
return self._x
@x.setter
def x(self, value):
print "Setting x to %s" % (value)
try:
self._x = int(value)
except ValueError:
self._x = None
#main (test area)
if __name__ == '__main__':
a = MyClass()
a.x = "5"
print str(a.x)
print "Vars: %s" %vars(a)
print "Dir: %s" %dir(a)
出力する:
Vars: {'_x': 5}
Dir: ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_x', 'x']
は "VARS" または "DIR" に似たコマンドがありますかそこらそれは私だけの "x" を与えるだろうか?
もしそうでない場合、あなたは何をすることをお勧めしますか? "vars"キーを移動し、 "_x"の前に表示される "_"を削除しますか?
ありがとうございます!
感謝を! さて、少なくとも私が試した例では、 "_x"を返していますが、 "x"(何とか)を得たいと思います。 – BorrajaX
@BorrajaX:何ですか?いいえ、 '_x'ではなく' x'を返します。私の例を見てください。 – nosklo
よろしくお願いします。私は今参照してください!ありがとうございました! – BorrajaX