0
votes

Comment faire référence à une classe d'une chaîne qui fait partie d'une variable 3.7

Je viens de lire un fichier texte et d'extraire une chaîne et de la stocker comme une variable. Cette chaîne se trouve également le nom d'une classe que je souhaite faire référence afin d'utiliser dans une fonction par exemple. La variable "qui_class" est la classe que la classe a été stockée dans le fichier

J'ai essayé de passer la variable_class en tant que paramètre sur la fonction. Suppression des citations semble faire fonctionner, mais je ne suis pas sûr de faire cela. P>

class needed_for_func_one():
    multiplier = 1.23

class needed_for_func_two():
    multiplier = 1.15


def random_function(which_class):
    print(123 * which_class.multiplier)

PSEUDO CODE
READ FROM FILE STORE STRING AS "which_class"

which_class = "needed_for_func_two"


random_function(which_class)


1 commentaires

Cette question a été posée à plusieurs reprises auparavant. Voici un exemple Stackoverflow.com/questions/ 1176136 / ... .


3 Réponses :


1
votes

La fonction eval pourrait vous aider ici. XXX

Cependant, vous devez probablement repenser si vous voulez vraiment cela de cette façon ou s'il y a beaucoup de nettoyant solution.


1 commentaires

Merci, fonctionne bien. C'est tout à fait Janky, je sais que cela semble fonctionner comme solution rapide pour un petit problème



0
votes

Je pense que votre question est liée à Celui-ci Comment appelez-vous la fonction dépend s'il s'agit d'une fonction globale ou si elle est à l'intérieur d'un objet.

getattr(from_this_object, 'call_this_function')()


0 commentaires

0
votes

Tout d'abord, pour utiliser une classe, vous avez besoin d'un objet d'une classe. Donc, si ce que vous lisez est un nom de la classe ou une autre chose dont cela n'a pas d'importance, utilisez simplement une instruction IF pour décider de ce qui est à l'intérieur de cette variable dit "quel_class". Ensuite, créez un objet comme: xxx

puis utilisez l'impression comme: xxx


0 commentaires