Esto importa la función/clase/módulo _
en el espacio de nombres actual. Entonces, en lugar de tener que escribir GTG._
, solo tiene que escribir _
para usarlo.
Aquí es un poco de documentación:
http://docs.python.org/tutorial/modules.html#more-on-modules
Debe tenerse en cuenta que se debe utilizar esto con cuidado. Hacer esto demasiado podría contaminar el espacio de nombres actual, hacer que el código sea más difícil de leer y, posiblemente, introducir errores de tiempo de ejecución. Además, NUNCA NUNCA NUNCA debe hacer esto:
from MODULE import *
, ya que contamina mucho el espacio de nombres actual.
Esta técnica es muy útil cuando sabe que solo va a utilizar una o dos funciones/clases/módulos de un módulo, ya que al hacerlo solo importa los activos enumerados.
Por ejemplo, si quiero usar la función imap
desde el módulo de itertools
, y sé que no necesitaré cualquier otro itertools
funciones, podría escribir
from itertools import imap
y sólo se podría importar la imap
función.
Como he dicho antes, esto debe usarse con cuidado, ya que algunas personas pueden pensar que
import itertools
# ... more code ...
new_list = itertools.imap(my_func, my_list)
es más legible que
from itertools import imap
# ... more code ...
new_list = imap(my_func, my_list)
ya que deja claro exactamente qué módulo del imap
la función vino de.
Hola, gracias, esto es realmente útil. Conocía la sintaxis general "de BLA import bla", ¡así que averiguar sobre esta convención era realmente lo que estaba buscando! Usar tal taquigrafía tiene mucho más sentido ahora. Gracias – Paul
@bp Uso justo. Además, leer la documentación es mucho más valioso en la cultura python que afirmar que los derechos de propiedad son ... – twneale