| You are here: Inicio > Inmersión en Python > Objetos y orientación a objetos > Importar módulos usando from módulo import | << >> | ||||
Inmersión en PythonPython de novato a experto |
|||||
Python tiene dos maneras de importar módulos. Ambas son útiles, y debe saber cuándo usar cada cual. Una de las maneras, import módulo, ya la hemos visto en Sección 2.4, “Todo es un objeto”. La otra hace lo mismo, pero tiene diferencias sutiles e importantes.
Ésta es la sintaxis básica de from módulo import:
from UserDict import UserDict
Esto es similar a la sintaxis de import módulo que conoce y adora, pero con una diferencia importante: los atributos y métodos del módulo importado types se sitúan directamente en el espacio de nombres local, de manera que están disponibles directamente, sin necesidad de acceder a ellos mediante el nombre del módulo. Puede importar elementos individuales o usar from módulo import * para importarlo todo.
| from módulo import * en Python es como use módulo en Perl; import módulo en Python es como require módulo en Perl. | |
| from módulo import * en Python es como import módulo.* en Java; import módulo en Python es como import módulo en Java. | |
>>> import types >>> types.FunctionType<type 'function'> >>> FunctionType
Traceback (innermost last): File "<interactive input>", line 1, in ? NameError: There is no variable named 'FunctionType' >>> from types import FunctionType
>>> FunctionType
<type 'function'>
¿Cuándo debería usar from módulo import?
Aparte de esto, es sólo cuestión de estilo, y verá código en Python escrito de ambas maneras.
| Utilice from module import * lo menos posible, porque hace difícil determinar de dónde vino una función o atributo en particular, y complica más la depuración y el refactorizado. | |
<< Objetos y orientación a objetos |
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
Definición de clases >> |