Salut Michel,

La procédure ou fonction commence bien par def, et finit à la prochaine ligne qui est au même niveau d'indentation que ce def. (ou ligne d'indentation plus à gauche si la fonction est la dernière méthode d'une classe, bien sûr).

Une variable a une portée locale, mais il me semble que, tant qu'une variable de même nom n'est pas redéfinie, on peut toujours accéder au moins en lecture à une variable plus globale. En écriture, j'ai l'impression que ça dépend des types, par exemple pour les listes et les données un peu complexes, il semble qu'on puisse quand même les modifier dans une fonction.
Si tu as une ligne
toto = titi
dans une fonction du genre:
def mafonction:
hors de mafonction, toto n'existe pas, ou du moins, si elle existe, c'est une autre toto.

J.-F.


Le 20/03/2014 11:01, Michel such a écrit :
Salut les artistes,

Ouais, ce Python c'est vraiment calamiteux.
Bon, une première question qui devrait déjà un peu déblayer le terrain
dans lequel je m'embourbe:
Quelle est la portée d'une variable dans un programme Python.
Je suppose qu'une procedure est un truc qui commence par def et finit au
prochain def.
Dans cet espace, si j'écris:
toto = "titi"
quelle est la portée de toto, sera-t-il vu des autres procs.
D'autre part quelle serait la différence entre toto et self.toto ?

J'attaque peut-être les choses par le petit bout de la lorgnette, mais
je suis en train d'essayer de debugger un machin et dès queje change le
moindre truc ça plante.


Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à