Comment déclarer une fonction d'un paramètre retourné ?

Fermé
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 - 19 mai 2015 à 21:45
 Utilisateur anonyme - 22 mai 2015 à 12:11
Bonjour

en python j'ai ça:

def initialiser(a,b):
...instructions
...return c

def utiliser(c):
...instructions

Maintenant je fais comment pour déclarer les fonctions ci dessus ?
Quand je fais
utiliser(c)
on me dit que "c" n'est pas défini
alors que je l'ai retournée dans la fonction du dessus
comment je fais pour récupérer la valeur de c (de la fonction initialiser) quand je déclare utiliser(c) ???

Merci
A voir également:

2 réponses

canarder Messages postés 1714 Date d'inscription jeudi 28 août 2008 Statut Membre Dernière intervention 13 mai 2018 354
19 mai 2015 à 21:56
Bonjour,

Tu dois apprendre le principe de "portée des variables".

Et aussi :
utiliser(initialiser(a,b))

1
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 23
20 mai 2015 à 10:55
Oui mais si j'ai la fonction
initialiser(a,b):
--instructions
--return a
--return b

et que quand je fais utiliser(initialiser(a,b)), je voudrais que ça tienne compte uniquement de return a, et pas de return b, comment je fais

j'écris quoi en 2ème paramètre ?

utiliser(initialiser(a,???))
0
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 23
20 mai 2015 à 10:31
Merci pour l'aide mais j'aurai une autre question

dans un fichier first.py, j'ai ce code

def fonction():
..variable1
..return variable1


et dans un autre fichier second.py j'ai ça

import first

w = variable1

et je vais devoir utiliser la variable1 dans le fichier second.py . Comment je fais pour l'utiliser ? On mue dit que variable1 n'est pas définie.

Et quand je fais

w = first.variable1

on me dis

AttributeError: 'module' object has no attribute 'variable1'
0
Utilisateur anonyme
22 mai 2015 à 12:11
variable1 n'est effectivement pas définie. Il s'agit d'un paramètre local à la fonction fonction() dans le fichier first.py. Donc imagine que tu veuilles utiliser ça dans un autre fichier ... Pour utiliser variable1, il faut que tu stockes la valeur de fonction(). (le type de fonction() dépends de variable1 puisque tu le renvoie). Tu comprends ce que je veux dire ?

Il faut donc w = fonction() (et non variable1 car non définie explicitement de la forme variable1 = qqchose et non en dehors d'une fonction).
0