[Programación]Dudillas sobre python

Emiliano Gavilán emilianogavilan en gmail.com
Lun Oct 19 13:43:30 ARST 2009


On Mon, Oct 19, 2009 at 03:28:58AM -0700, Horacio Castellini wrote:

> 1) from sympy import Symbol, pprint, sin, cos, exp, sqrt
> Lo que hace importar solo los métodos Symbol, ..., sqrt de "sympy" para no usar todo lo definido en el paquete?

Respuesta corta: si

Respuesta larga: hay dos formas de importar funciones

*) import module
*) from module import /what/

la primera forma importa el modulo completo, respetando el espacio de
nombres del módulo. Por ejemplo:

 >>> import math
 >>> math.fmod(2.5,.4)
 0.099999999999999867

la segunda importa los elementos seleccionados al espacio de nombres actual

 >>> from math import fmod
 >>> fmod(2.5,.4)
 0.099999999999999867

> 2) en: 
> if __name__ == "__main__":
>     main()

En castellano sería "Si el archivo que contiene este script (__name__) es el
módulo principal ("__main__") entonces ejecutá la función main()"
O sea, si yo hago "python pprint.py", __name__ valdrá "__main__" y se
ejecutará la función main().
Si por el contrario, estoy corriendo otro script y hago "import pprint",
__name__ valdrá "pprint" y no se ejecutará dicha función.

Emiliano


Más información sobre la lista de distribución Programacion