Shadows nom xyz de la portée externe

Je suis en utilisant pycharm et il fait la liste de toutes les erreurs/avertissements associés avec le code. Bien que je comprenne la plupart d'entre eux, je ne suis pas sûr de ce "Ombres nom xyz de l'extérieur de la portée". Il y a DONC quelques posts au sujet de cette: Comment le mauvais est l'occultation de noms définis dans des étendues extérieures? mais ensuite ils semblent être l'accès à une variable globale.

Dans mon cas, mon __main__ fonction a quelques noms de variable et puis c'est l'appel d'une autre fonction sample_func qui utilise ces noms de variables à nouveau (principalement la boucle noms de variables). Je suis en supposant que parce que je suis dans une autre fonction, la portée de ces variables sont locales, cependant la mise en garde semble indiquer le contraire.

Toute pensée? Pour référence, voici un peu de code:

def sample_func():
    for x in range(1, 5):  --> shadows name x from outer scope
        print x

if __name__ == "__main__":
    for x in range(1, 5):
        sample_func()

source d'informationauteur The Wanderer | 2015-07-22