Foros del Web » Programando para Internet » Python »

Forma correcta de importar módulos

Estas en el tema de Forma correcta de importar módulos en el foro de Python en Foros del Web. Es correcta la forma en se importan los módulos en este programa: Código: import sys from PyQt4 import QtGui, QtCore from calculadora import Ui_MainWindow class ...
  #1 (permalink)  
Antiguo 28/06/2012, 19:39
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Forma correcta de importar módulos

Es correcta la forma en se importan los módulos en este programa:
Código:
import sys
from PyQt4 import QtGui, QtCore
from calculadora import Ui_MainWindow

class CalculadoraGui(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self,None)
        self.ventana = Ui_MainWindow()
        self.ventana.setupUi(self)

    ##Boton 1
    def cuatro_nodos_matplotlib(self):
        from rectangulo_4_nodos import *

    ##Boton 2
    def cuatro_nodos_mayavi(self):
        from rectangulo_4_nodos_mayavi import *

    ##Boton 3
    def nueve_nodos_matplotlib(self):
        from rectangulo_9_nodos import *

    ##Boton 4
    def nueve_nodos_mayavi(self):
        from rectangulo_9_nodos_mayavi import *
        
def main():
    app = QtGui.QApplication(sys.argv)
    ventana = CalculadoraGui()
    ventana.show()
    sys.exit(app.exec_())
    
if __name__ == "__main__":
    main()
En la carpeta estan los módulos rectangulo_4_nodos.py, rectangulo_4_nodos_mayavi.py, rectangulo_9_nodos.py y rectangulo_9_nodos_mayavi.py dentro de cada módulo existen varias funciones, o seria mejor despues de hacer click en cualquiera de los cuatro botones ejecutar las funciones una despues de otra.
  #2 (permalink)  
Antiguo 28/06/2012, 20:06
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Forma correcta de importar módulos

Me pregunto que hay en los módulos rectangulo_9_nodos.py, rectangulo_9_nodos_mayavi.py, rectangulo_4_nodos.py, rectangulo_4_nodos_mayavi.py

Ciertamente esa forma no es de las mejores formas.

1.- Las importaciones, si bien se pueden hacer en cualquier parte, hay convenciones que solo deben de hacerse al principio del modulo.
2.- Los import con *, es considerado una mala practica en varios lenguajes no solamente en python, por que no sabes que es lo que tienes en tu namespace. Tal vez puede colisionar, con el nombre de alguna otra función o variable. O como en este caso no se lo que estés importando.
  #3 (permalink)  
Antiguo 20/07/2012, 07:46
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Forma correcta de importar módulos

Los módulos cada uno por separado tienen funciones definidas como interpolar puntos, multiplicar arreglos, generar funciones de forma y graficar. Mejorare los códigos y generalizare las funciones, gracias por responder.
  #4 (permalink)  
Antiguo 20/07/2012, 13:53
zz_sioux
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Forma correcta de importar módulos

te recomiendo 1000 veces mas

Código Python:
Ver original
  1. import module

luego es mucho mas fácil saber de donde viene una función, método u objeto, además así te vas acostumbrando ya que luego te va a tocar revisar código de otro, y la mayoría los importa así, también hecha un vistazo a:

Código Python:
Ver original
  1. import module as otronombre
  #5 (permalink)  
Antiguo 24/07/2012, 10:29
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Forma correcta de importar módulos

Cita:
Iniciado por razpeitia Ver Mensaje
Me pregunto que hay en los módulos rectangulo_9_nodos.py, rectangulo_9_nodos_mayavi.py, rectangulo_4_nodos.py, rectangulo_4_nodos_mayavi.py
+1 verifica el espacio de nombres en cada uno de esos módulos, ya que pueden coincidir en caso de importarlos de forma correcta

Etiquetas: correcta, gui, programa, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:22.