l'importation de plusieurs fonctions à partir d'un module Python
Je suis l'importation de beaucoup de fonctions à partir d'un module
Est-il préférable d'utiliser
from my_module import function1, function2, function3, function4, function5, function6, function7
qui est un peu bordélique, mais évite les inondations de l'espace de noms courant de tout, de ce module ou
from my_module import *
Qui semble propre, mais va remplir l'espace de noms avec tout de ce module.
Ne pouvez pas trouver quelque chose dans PEP8 sur ce qui la limite à combien vous devez l'importer par nom. Ce qui est mieux et pourquoi?
Vous devez vous connecter pour publier un commentaire.
Si vous avez vraiment besoin que de nombreuses fonctions, vous êtes déjà polluer votre espace de noms.
Je dirais:
Ou, si mon_module a un nom long d'utiliser un alias:
Si il est entre l'une ou l'autre, utilisez
Voir "Explicite est mieux qu'implicites." dans
import this
.Si vous voulez juste un nom plus court que
my_module.function1
, il y a toujoursimport my_module as mod
.Pour les quelques fonctions que vous utilisez le nombre de fois (de type plusieurs fois si vous voulez un nom court ou dans une boucle, donc la vitesse d'accès est important), il est
Avec un peu de gestion, vous pouvez contrôler l'importation * les importations. Dire votre mon_module a fonction1..function8 mais vous voulez seulement faire les fonctions de 1 à 6 sont disponibles. Dans votre mon_module, de réaffecter les
__all__
attribut:my_module.py:
Maintenant, si vous utilisez
from my_module import *
, vous n'aurez qu'à importer ces fonctions et les variables définies dans le__all__
attribut de my_module.py.Je vous suggère de résoudre le problème en séparant votre module par le regroupement des fonctions de façon appropriée et de mettre de l'en modules distincts.
Kugel alias de l'approche est beau, trop, bien que je ne voudrais pas encourager l'utilisation d'un alias comme "m". :o)