Je suis nouveau en python et j'ai un problème: dans le paquet que j'utilise, il y a une commande que je peux me rappeler de la manière suivante: exemple.d1, exemple.d2, changeant le numéro qui suit RÉ. Je souhaite créer une boucle pour imprimer tous les résultats avec le numéro, après D, de 1 à 100.
J'ai essayé avec p> et l'erreur est < Code> Soulevez AttributeError ("'*' n'a aucun attribut"% s ""% nom) attributError: "*" n'a aucun attribut 'di' code> p> Comment puis-je retourner cette commande "en boucle "? P> J'espère que ma description est claire,
merci p> p>
3 Réponses :
Vous pouvez soit utiliser si vous souhaitez renvoyer une valeur spécifique si eval code> (non recommandé), accéder aux variables locales avec
locaux () code> (dépend du contexte) ou d'utilisation préférable d'utiliser le
getattr code> méthode pour accéder aux variables d'instance de classe de
Exemple code>:
di code> n'existe pas, vous pouvez ajouter cela comme une valeur de retour par défaut à
getattr code>, fi Renvoie la chaîne
'variable diothe introuvable' code>. p>
Vous pouvez imprimer votre objet (instance de classe) State / Attributs de tant de façons, l'un d'entre eux est le cas intégré en utilisant Inspecter module strong> p> < BlockQuote>
Le module d'inspection fournit plusieurs fonctions utiles pour aider à obtenir
informations sur des objets en direct tels que des modules, des classes, des méthodes,
Fonctions, Tracebacks .. P>
blockQuote> Utilisez la méthode ci-dessous: P> Renvoyez tous les membres d'un objet dans une liste de paires (nom, valeur))
trié par nom. Si l'argument de prédicat optionnel .... p>
blockQuote> getattr code>
inspecter.getmembers (objet [ prédicat]) code> p>
Vous pouvez utiliser
Imprimer (getattr (exemple, f "d {i}")) code> pourrait fonctionner.
Vous pouvez accepter la réponse qui vous ait plus aidé et aussi uppote toutes les réponses utiles. :)