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

site12 Messages postés 288 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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   Statut Membre Dernière intervention   355
 
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   Statut Membre Dernière intervention   23
 
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   Statut Membre Dernière intervention   23
 
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
 
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