D'accord, je sais, c'est mieux d'éviter les variables globales mais enfin c'est quand même parfois utile.
Voilà donc une méthode triviale à laquelle je viens de penser, que je trouve plutôt élégante et dont je voulais vous faire part.
Au lieu d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
a = 1
b = 2
 
def func1():
    global a
    print a
 
def func2():
    global a
    global b
    print a, b
Je propose d'écrire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
class globals:
    a = 1
    b = 2
 
def func1():
    print globals.a
 
def func2():
    print globals.a, globals.b
Le principal intérêt que je vois c'est d'éviter de se mélanger les pinceaux avec des variables locales sachant que bien sûr le préfixe "globals." ne peut pas être omis.