2016-08-16 1 views
-1

quelqu'un peut me dire s'il vous plaît quelle est la différence entre l'utilisation de ces deux dans mon __init__.py dans mon paquet? Et quel est le meilleur à utiliser?différence entre __all__ et bar import * dans __init__.py dans le paquet

__all__ = ['functions'] 

from functions import * 
+0

Démarrer [ici] (https://docs.python.org/3/tutorial/modules.html#importing-from-a-package). – vaultah

+0

Ces deux lignes font deux choses différentes: La définition de '__all__' définit les membres * qui * seront importés en utilisant la syntaxe' from ... import * 'pour importer à partir de ce module. – poke

+0

@poke donc dire ma structure était main.py ** this_pkg/ __init.py__ myfile.py ** (a l'intérieur myfunctn) et dans mon '__init__.py je mettrais '__all__ = [' myfile .py ']' puis dans main.py je mettrais 'from this_pkg import *' alors je devrais pouvoir dire dans main.py 'myfunctn (myarg)' mais je ne peux pas –

Répondre

-2
print(len(globals())) 
import sys 
print(len(globals())) 
from sys import * 
print(len(globals())) 

SORTIE:

8 
9 
67