Python import style de codage

J'ai découvert un nouveau modèle. Est ce motif bien connu ou qu'est-ce que l'opinion à ce sujet?

En gros, j'ai du mal à scrubbing en haut et en bas des fichiers source pour comprendre ce module, les importations sont disponibles et ainsi de suite, donc maintenant, au lieu de

import foo
from bar.baz import quux

def myFunction():
    foo.this.that(quux)

Je déplacer toutes mes importations dans la fonction où elles sont effectivement utilisées., comme ceci:

def myFunction():
    import foo
    from bar.baz import quux

    foo.this.that(quux)

Ce n'est quelques choses. Tout d'abord, j'ai rarement accidentellement polluer mes modules avec le contenu des autres modules. Je pourrais définir le __all__ variable pour le module, mais alors je dois mettre à jour le module évolue, et qui n'aide pas l'espace de noms de la pollution pour le code qui vit en fait dans le module.

Deuxième, j'ai rarement jusqu'à la fin avec une litanie des importations en haut de mes modules, la moitié ou plus de qui je n'ai plus besoin parce que j'ai refait il. Enfin, je trouve ce modèle plus facile à lire, puisque chaque nom de référence est là, dans le corps de la fonction.

InformationsquelleAutor TokenMacGuy | 2009-01-25