l'obtention d'un dictionnaire des variables de classe et les valeurs
Je suis en train de travailler sur une méthode pour retourner toutes les variables de classe que les clés et les valeurs comme des valeurs d'un dictionnaire , par exemple, j'ai:
first.py
class A:
a = 3
b = 5
c = 6
Puis dans le second.py je devrais être en mesure d'appeler peut-être une méthode ou quelque chose qui sera de retour un dictionnaire comme ce
import first
dict = first.return_class_variables()
dict
puis dict sera quelque chose comme ceci:
{'a' : 3, 'b' : 5, 'c' : 6}
C'est juste un scénario pour expliquer l'idée, bien sûr, je ne vous attendez pas à être facile, mais je vais l'aimer si il y a des idées sur la façon de traiter ce problème, tout comme dict peut être utilisée pour définir une classe de valeurs de variables en passant un dictionnaire avec la variable, la valeur de combinaison de touche, valeur.
Les attributs de classe, les réponses ci-dessous est ce que je cherchais.:)
k, il suffit de garder à l'esprit que comprendra également des méthodes de la classe et ne vous donnera pas tous les attributs définis dans une classe parente.
Oui, la classe je suis en train de travailler sur ne contient que des attributs d'aucune méthode, je vous remercie je vais garder cela à l'esprit
OriginalL'auteur Plaix | 2014-01-24
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de filtrer les fonctions intégrées et des attributs de classe.
and not callable(value)}
.OriginalL'auteur afkfurion
Utiliser un dict compréhension sur
A.__dict__
et filtrer clés de début et de fin avec__
:OriginalL'auteur Ashwini Chaudhary
Quelque chose comme cela?
qui donne
Vous êtes le réglage et retourner les variables d'instance, et non pas la variable de classe. Variables de classe ne sont pas définis dans
__init__()
mais juste après laclass
déclaration. Variables de classe sont communes à toutes les instances, alors que les variables d'instance appartiennent à l'instance (la Classe de l'objet ne pouvez pas accéder aux variables d'instance, même si l'inverse est possible).OriginalL'auteur nye17