Je me demandais s'il existait un moyen en Python (2.6) d'obtenir uniquement le nom des propriétés d'une instance.Obtenir uniquement les propriétés d'une instance
Disons que j'ai:
#!/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)
qui sort:
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']
Y at-il une commande similaire à "vars" ou "dir" ou que cela me donnerait "x" seulement?
Sinon, qu'est-ce que vous recommandez de faire? Marcher les touches "vars" et supprimer le "_" qui apparaît devant "_x"?
Merci d'avance!
Merci pour la réponse rapide! Eh bien ... au moins l'exemple que j'ai essayé, il est de retour "_x", mais je voudrais obtenir "x" (en quelque sorte) – BorrajaX
@BorrajaX: Quoi? non, il renvoie 'x' pas' _x'. Vérifiez mon exemple. – nosklo
Oooooh! Je vois maintenant! Je vous remercie! – BorrajaX