[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