Un hack très sale si vous voulez mettre cela dans une fonction: les arguments par défaut! En Python, si un argument par défaut est un tableau, il devient « statique » et muable, vous pouvez le garder à travers différents appels, comme ceci:
def f(j = [0]):
j[0] += 1
print('incrementing', j[0])
f() # prints "incrementing 1"
f() # prints "incrementing 2"
f() # prints "incrementing 3"
Amusez-vous!
Edit:
incroyable, downmoded sans aucune explication pourquoi ce hack est mauvais ou hors-sujet. Les arguments par défaut dans Python sont évalués au moment de l'analyse, ai-je tort? Je ne pense pas que je suis, je viens d'attendre des réponses intelligentes au lieu de points négatifs sur mon poste ...
s'il vous plaît reformater le code correctement. –
Ouch. C'est une question incroyable. La balise [débutant] ne rend pas justice. –
@ S.Lott: J'ai eu un stagiaire ici que j'ai dû expliquer en détail comment une boucle est supposée fonctionner. Au lieu de j = 0 il a utilisé f = open (...). Et il prétendait connaître C++ et Java. –