0
votes

Renvoyer correctement la variable booléenne du module Python

Je suis sûr que cela est absurdement simple, mais je n'ai pas été incapable de le faire fonctionner.

Je veux convertir une variable booléenne en vrai dans un module et le renvoyer à mon principal.

Fichier: Test xxx

2. Fichier: module xxx

mais ce code ne fonctionne pas. Quand j'imprime la valeur, cela me donne un faux . Est-ce que quelqu'un sait à renvoyer la valeur de sorte qu'il est vrai ? Ou est-il même possible de modifier une valeur booléenne dans un autre module et de le renvoyer par la suite?


1 commentaires

4 Réponses :


2
votes

Vous n'imprimez pas la valeur de retour de la fonction. Pour cela, vous devriez

v = mo.x(value)
print(v)


0 commentaires

2
votes

Vous imprimez valeur au lieu du résultat de mo.x (valeur) .

dans votre test.py, essayez ce qui suit: xxx

et la sortie sera la suivante: xxx


< P> Notez que les variables définies dans une fonction ont une portée locale. Cela signifie que la valeur la fonction intérieure de variable x est uniquement accessible dans la fonction et n'est pas identique à la variable de la valeur dans votre test .py module.

0 commentaires

0
votes

Cela se produit parce que vous retournez une valeur "vraie", mais vous ne l'attribuez pas à la variable "valeur". Donc, vous ne faites que faire appel à la fonction mais n'utilise pas la valeur de retour.


0 commentaires

1
votes

Le problème est que les types primitifs, tels que les entiers sont passés par la valeur et non par référence. Alors, que se passe-t-il, vous ne passez pas la variable "valeur" à la fonction x (), mais la valeur inside "valeur" est copiée.

Une solution de contournement utiliserait n'importe quel objet, car elles sont toujours transmises par référence. E.g.: Une liste: xxx


0 commentaires