Actualmente estoy escribiendo una clase que necesita os
, stat
y algunos otros.Importación de módulos dentro de la clase python
¿Cuál es la mejor manera de importar estos módulos en mi clase?
Estoy pensando en cuándo otros lo usarán, quiero que los módulos de 'dependencia' ya sean importados cuando se crea una instancia de la clase.
Ahora los estoy importando en mis métodos, pero tal vez haya una mejor solución.
Si importo un módulo en un método (como '__init__'), ¿no importaría ese módulo varias veces si creo varias instancias? Por lo tanto, ¿afectaría el rendimiento, en comparación con la importación global? –
¿No debería() después de __import, not []? Aparece el error "TypeError: 'builtin_function_or_method' el objeto no tiene el atributo '__getitem__'" cuando uso corchetes. Después de cambiarlo a() funciona, pero tengo que prefijar el módulo importado con el nombre de la clase, incluso cuando uso el módulo importado dentro de la clase, prefiero no hacer eso. De cualquier forma alrededor de esto? – Samuel
@Samuel: Gracias por la corrección, arreglé la importación. Si desea que el objeto importado esté disponible globalmente, simplemente use la instrucción 'import' normal. Sin embargo, eso no es una buena idea con las importaciones condicionales, ya que puede tener código * fuera * del condicional que solo funciona si la rama del condicional con la importación se ejecutó primero.Si usa '__import__' como arriba, evitará crear un nombre global para el objeto. – agf