Python - Dudas Metodo main

   
Vista:

Dudas Metodo main

Publicado por Cristian (6 intervenciones) el 12/04/2012 01:41:41
Como lo dije antes recién estoy aprendiendo python, ya que en la universidad solo enseñan java y c# decidi aprender otro lenguaje y me decidi por python.
y poco a poco le voy entendiendo pero una de las cosas que aun no tengo claras es con el metodo main en c# para que un programa se ejecute tiene que existir el método Main y veo que en python no es asi.
Por ejemplo para ver un poco de programación orientada a objetos hice este ejemplo

cree un archivo llamado ejemplo.py
1
2
3
4
class Ejemplo:
    def Imprimir(self, nom):
        self.nom=nom
        print "nombre",nom


y otro archivo principal.py donde ago uso del metodo imprimir
1
2
3
4
from ejemplo import Ejemplo
class Prueba:
    ob = Ejemplo()
    ob.Imprimir("juan")


y perfecto corre pero se me vienen a la mente unas cuantas preguntas por ejemplo si creo un programa en python que utilice bastantes archivos .py (ejemplo unos 6 archivos) como especificar en que clase debería comenzar le programa como ya lo dije antes en c# el programa empieza a ejecutarse en el método Main que es donde se instancia los métodos y clases.

estoy trabajando con pyscripter y cuando creo un nuevo archivo siempre me crea el siguiente código del método main
1
2
3
4
5
def main():
    pass
 
if __name__ == '__main__':
    main()


pero como bien dije antes no tengo idea como se usa el metodo main en python
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Dudas Metodo main

Publicado por xve (1229 intervenciones) el 12/04/2012 10:25:16
Hola Cristian, ante todo decir que no soy un experto en Python...
Yo nunca he utilizado la función main en Python, siempre he utilizado:
1
2
3
if __name__ == '__main__':
    ...
    ...

Ya que es la funcion que se ejecuta por defecto al ejecutar un archivo de Python, pero tienes que tener en cuenta, que cuando un archivo es instanciado por otro archivo con import, ese código no se ejecuta, ya que __name__ no es __main__.

No se si me he explicado bien... coméntame, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dudas Metodo main

Publicado por Cristian (6 intervenciones) el 13/04/2012 01:41:43
Primeramente gracias por responder.
Haber si te entendí, Lo que me estas diciendo es que si tengo solo un archivo .py con varias funciones lo primero que se ejecuta es lo que esta en
1
if __name__ == '__main__':

Pero y si estoy trabajando con bastantes archivos ,py o por módulos, no habría necesidad de tener dentro de un archivo .py el metodo main para indicar que ahí es donde se empezara a ejecutar el programa?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar