Problème python return
Résolu/Fermé
A voir également:
- (Function(){css.removeclass(document.body,%20'profile_two_columns'); tab_controller.changepage("photos");})()
- Python est introuvable. exúcutez sans argument pour procúder ó l - Forum Python
- Citizen code python avis - Accueil - Outils
- \R python ✓ - Forum Python
- Return outside function python - Forum Python
- Python retour à la ligne dans le code - Forum Python
1 réponse
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
12 mars 2019 à 22:01
12 mars 2019 à 22:01
'lut,
tu sembles ne pas avoir du tout compris comment marche les valeurs de retour, et l'appel de fonction non plus...
En mettant juste
Pour exécuter ta fonction il faut suivre le nom d'une paire de parenthèses avec les paramètres. Comme il n'y en a pas, on met des parenthèses vides:
Cette instruction
Ce que tu essaies de faire ne va pas car tu pars du principe que les variables utilisées dans les fonctions sont accessibles en dehors. C'est le cas dans certains langages tels que des BASICs, mais pas en Python. Quand une fonction se termine, toutes ses variables locales (c-à-d utilisées uniquement dedans la fonction) sont détruites, on ne peut récupérer que la valeur de retour en utilisant la fonction dans une expression, dont l'assignation de variable ; en continuant l'exemple précédant
Mais ça c'est en dehors de la fonction nombre.
tu sembles ne pas avoir du tout compris comment marche les valeurs de retour, et l'appel de fonction non plus...
En mettant juste
sum, tu obtient la fonction elle-même sous forme d'objet (
<function sum at 0xblablabla>). À ton niveau ça ne t'es pas utile.
Pour exécuter ta fonction il faut suivre le nom d'une paire de parenthèses avec les paramètres. Comme il n'y en a pas, on met des parenthèses vides:
sum().
Cette instruction
sum()est évaluée puis contiendra la valeur que la fonction a mis dans son
return, ou
Nonesi pas de
return. Cette valeur peut être utilisée dans une expression comme un paramètre de fonction ou une addition par exemple:
def nombre(): return 1 + 2 print(nombre() + 3) # "6"
nombre()sera évaluée, puis comme la fonction retourne 3 (après évalution de
1 + 2), on a l'expression intermédiaire
3 + 3, qui donne 6, ce que
Ce que tu essaies de faire ne va pas car tu pars du principe que les variables utilisées dans les fonctions sont accessibles en dehors. C'est le cas dans certains langages tels que des BASICs, mais pas en Python. Quand une fonction se termine, toutes ses variables locales (c-à-d utilisées uniquement dedans la fonction) sont détruites, on ne peut récupérer que la valeur de retour en utilisant la fonction dans une expression, dont l'assignation de variable ; en continuant l'exemple précédant
mavariable = nombre() # mavariable vaut 3 print(mavariable + 3) # "6" aussi
Mais ça c'est en dehors de la fonction nombre.
13 mars 2019 à 07:16