Foros del Web » Programando para Internet » Python »

¿Es mala práctica importar el modulo dentro de la función?

Estas en el tema de ¿Es mala práctica importar el modulo dentro de la función? en el foro de Python en Foros del Web. Hola de nuevo! Tengo serias dudas si es buena práctica en general, importar el módulo dentro de una función definida por nosotros. Osea, imaginemos que ...
  #1 (permalink)  
Antiguo 26/05/2014, 12:32
 
Fecha de Ingreso: diciembre-2009
Ubicación: Spain
Mensajes: 180
Antigüedad: 14 años, 11 meses
Puntos: 9
¿Es mala práctica importar el modulo dentro de la función?

Hola de nuevo!

Tengo serias dudas si es buena práctica en general, importar el módulo dentro de una función definida por nosotros. Osea, imaginemos que quiero usar la función sqrt() del módulo math. Y lo hago así:

Código Python:
Ver original
  1. def diagonal_rec(ancho, alto):
  2.     import math # IMPORTAMOS MODULO
  3.     diagonal = (ancho ** 2) + (alto ** 2)
  4.     return math.sqrt(diagonal)

Igual será un sacrilegio. Pero a medida que aprendo, me gusta ir probando cosas para evitarlas o no.
  #2 (permalink)  
Antiguo 26/05/2014, 12:43
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: ¿Es mala práctica importar el modulo dentro de la función?

Si, es recomendable poner los imports en el inicio del módulo, salvo casos muy especificos:

Cita:
Imports are always put at the top of the file, just after any module comments and docstrings, and before module globals and constants.
Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 26/05/2014, 12:53
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: ¿Es mala práctica importar el modulo dentro de la función?

Es mas eficiente (en terminos de uso memoria mas que todo) hacer el import condicional o sea.. solo si el flujo del programa llega a ese punto hacemos la importacion excepto que en varios puntos podamos necesitar el modulo ya que no conozco exista algo como include_once() de php

Sin embargo.. es mas prolijo como dice @Carlangueitor
__________________
Salu2!

Última edición por Italico76; 26/05/2014 a las 12:58
  #4 (permalink)  
Antiguo 26/05/2014, 14:05
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 8 meses
Puntos: 1329
Respuesta: ¿Es mala práctica importar el modulo dentro de la función?

Creo que son contados los casos donde uno necesita hacer un import condicional por temas de eficiencia, y en todo caso nunca es buena idea optimizar prematuramente.

Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: modulo, usar
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 15:59.