-1
votes

Comment imprimez-vous des variables en dehors d'une classe?

Je suis très nouveau à Python. J'utilise actuellement Jupyter Notebook et j'ai besoin d'imprimer la variable "POS_BEST_G" en dehors de la classe suivante:

FINAL:
[4.999187204673611, 5.992158863901226, 4.614395966906296, 0.7676323454298957, 8.533876878259441]
0.001554888332705297


4 commentaires

Pourquoi est-ce une classe? Il n'utilise aucun état interne. Il devrait probablement simplement être une fonction ou refacturé dans une classe qui fait.


Vous pouvez soit déplacer ce code dans une fonction régulière (à l'aide d'une méthode __ init __ retour de la fonction ou en fais une variable d'instance de classe. en traversant le paramètre auto .


Vous devez faire plus de travail sur les informations de passage des blocs Python: regardez les paramètres fonctionnels et les valeurs de retour, les méthodes de classe et les attributs. Vous devez également apprendre plus de conception de code en général. Vous n'avez pas encore saisi les utilisations correctes de Classe et __ init __ . Pour l'instant, déposez entièrement l'idée de la classe et écrivez cela comme un programme principal ou peut-être une ou deux fonctions. Une fois que vous avez obtenu cela conçu, alors vous inquiétez de savoir comment encapsuler l'algorithme.


Merci beaucoup à tous. J'apprécie les conseils. J'essaie d'utiliser Python dans le cadre de mon projet UNI d'extraction des paramètres de cellules solaires et d'apprendre comme je vais. J'ai été divisé dans la fin profonde.


3 Réponses :


0
votes

Définissez le résultat que vous souhaitez extraire en tant qu'attributs de classe xxx

puis vous pouvez y accéder à partir de l'objet xxx


0 commentaires

0
votes

Il y a 2 façons de faire ceci: 1. Remettez la variable "pos_best_g" à la fin de la fonction " init ".

  1. Définissez une variable avant la classe et la définissez comme une variable globale à l'intérieur de la classe, puis changez sa valeur à la fin de la init

    comme: xxx


1 commentaires

Merci. Cela a fonctionné un régal!



0
votes

Je suppose que ceci est votre propre classe définie, non? Vous pouvez essayer d'ajouter une méthode getter et appelez ensuite cette méthode dans Jupyter Notebook pour stocker les résultats de sortie dans les variables comme suit:

Incluez simplement ces petites fonctions à l'intérieur de votre classe P>

object_PSO = PSO(costFunc,x0,bounds,num_particles,maxiter)
list_you_want = object_PSO.get_pos_best()
error_you_want = object_PSO.get_err_best()


0 commentaires