Qu'est-ce que le pythonic façon à éviter les effets d'ombre variables?

Souvent j'ai le code suivant qui conduit soit à la variable d'ombrage ou à une multiplication des variables locales

def whenadult(age):
    return 18 - age

age = 5
needtowait = whenadult(age)

age a la même logique rôle à la fois lorsqu'il est passé à la fonction, comme dans le code principal donc je voudrais éviter de créer quelque chose comme l_age dans whenadult.

Quel est le pythonic façon de résoudre le "shadowing ou variable multiplication" dilemme?

Mise à JOUR: suite à certains commentaires, je tiens à préciser que j'ai été la recherche d'un Python de bonnes pratiques (par opposition à local vs global portée de variables)

  • Je suis confus - pourquoi auriez-vous besoin pour créer un l_age variable dans le whenadult fonction?
  • Votre problème n'est pas de conduire à une multiplication des variables locales, et je ne suis même pas sûr de savoir comment il pourrait l'être.
  • (Je vais sauter le "downvote sans commentaire" coup de gueule) -- ce que je voulais dire, c'est la création d'une nouvelle nommée variable locale (l_age) pour éviter les effets d'ombre age plutôt que de réutiliser le même nom.
  • Sans doute celui qui downvoted vous l'avez fait sur la base de l'un des deux commentaires existants (ou sur l'autre que l'habitude d'être là que quelqu'un a supprimé plus tard). Dans ce cas, l'ajout d'un "ce qu'il a dit" commentaire n'a pas vraiment d'ajouter quoi que ce soit.
InformationsquelleAutor WoJ | 2013-11-11