[Programación]Dudillas sobre python

Manuel Naranjo naranjo.manuel en gmail.com
Lun Oct 19 09:56:27 ARST 2009


Horacio,
> Boinas...
>
> Tengo  dudillas en el siguiente script...
>
> #!/usr/bin/env python
> """Pretty print example
>
> Demonstrates pretty printing.
> """
>
> from sympy import Symbol, pprint, sin, cos, exp, sqrt
>
> def main():
>     x = Symbol("x")
>     y = Symbol("y")
>
>     pprint( x**x )
>     print '\n'# separate with two blank likes
>     
>     pprint(x**2 + y + x)
>     print '\n'
>
>     pprint(sin(x)**x)
>     print '\n'
>
>     pprint( sin(x)**cos(x) )
>     print '\n'
>     
>     pprint( sin(x)/(cos(x)**2 * x**x + (2*y)) )
>     print '\n'
>     
>     pprint( sin(x**2 + exp(x)) )
>     print '\n'
>     
>     pprint( sqrt(exp(x)) )
>     print '\n'
>     
>     pprint( sqrt(sqrt(exp(x))) )
>     print '\n'
>
>     pprint( (1/cos(x)).series(x, 0, 10) )
>     print '\n'
>
> if __name__ == "__main__":
>     main()
>
> 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?
>
> 2) en: 
> if __name__ == "__main__":
>     main()
>
> Si yo tengo un código con varias definiciones no solo "def main():" y se me ocurre poner
> if __name__ == "__caca__":
>     caca()
>
>   
En tu caso sí, porque vos defínis funciones, pero ponele q' haces


from simpy import....
print "hola mundo, yo soy pprint test"

....

if __name__=='__main__':
    main()

entonces cada vez q' importes el módulo vas a ver el hola mundo

A la vez cuando vos haces python pprint.py el __name__ va  a ser 
__main__ y también va a ejecutar el main()

Python no va a ejecutar tus funciones hasta que las llames, pero parte 
del proceso de compilación es ejecutar todo lo q' encuentre en el medio.

Manuel


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