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

site12 Messages postés 420 Statut Membre -  
 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

2 réponses

  1. canarder Messages postés 2034 Statut Membre 357
     
    Bonjour,

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

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

    1
    1. site12 Messages postés 420 Statut Membre 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
  2. site12 Messages postés 420 Statut Membre 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
    1. 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