Déclarer une variable via une fonction


#1

Ces leçons montrent comment utiliser les fonction. Mais je ne trouve nul part la réponse à cette question :

Est-il possible de déclarer une variable dans une fonction et la réemployer dans le corps du code ou une autre fonction ?
Si oui : comment faire ?

Exemple : (py2.4)

def ma_fonction () :
    variable = 42
    return variable

print variable

Ici, évidement la console retournera qu'elle ne connait pas la variable. Alors comment ?
Saisissez-vous l'idée ?


#2

Je connais pas tous les langues pour faire des programmes, mais ce que je sais, c'est qu'il y a deux type de variables.

Il y a des variables locale, et globale.

Les variables globale sont utilisable dans toutes la programme. ça se déclare dans le code, mais PAS dans une fonction.
Tu peux utiliser la variable dans votre fonction, la changer et tous que vous voulez.
par example: (javaScript)

var  age = prompt("give your age");
var ma_fonction = function(age)
{
    age = 4;
};

Age sera changé en 4.

Les variables locale, sont des variable que tu déclare dans une fonction ou quelque chose comme ça. Des variable locales seront utilisable partout, Mais seulement dans le fonction ou-t-il est déclaré.
Des variables comme ça sont utilisé beaucoup pour des loops (for-loops, je sais pas comment dire en français).
Example: (JavaScript)

var age = prompt("give your age");
var ma_fonction = function(age)
{
    var i = 1;
    for(; i<age.length;i++)
    {
        //say hooray
    }

};

Ici, le 'i' change, mais si tu ne peux pas avoir la valeur de 'i' ans la reste de votre programme.
parce que c'est une variable locale. Si tu veux utiliser la variable dans la reste de votre programme, tu devras changer de locale à globale.

(Excuses pour ma français. C'est pas ma langue maternelle...)


#3

D'accord, merci, ça m'aide en partie. Je continuerais à chercher les propriétés des variables locales ou globales, leurs souplesses et leur éventuels changements de statut. Peut-être en continuant d'étudier mon problème je pourrais poser mieux ma question.

Ce forum reste ouvert aux aides. Merci.