Programación Web y Scripting > Python
Las clases en python
RadicalEd:
Todos los módulos son objetos y estos tienen un atributo __name__, este atributo depende de cómo se utiliza el módulo. Si se importa con import, __name__ es el nombre del fichero del módulo, sin la ruta al directorio ni la extensión. Pero también puede ejecutarse un módulo directamente como programa independiente, y en este caso __name__ adquiere un valor especial, __main__.
Extrax:
Lo siento pero no lo entiendo :( ... podrias poner un ejemplo comparando cuando se usa y cuando no?, gracias... :unsure:
RadicalEd:
A ver cuando usas if __name__=='__main__' estás tratando de decir que si se está ejecutando desde el mismo script haga algo
--- Código: Python ---#!/usr/bin/env python#hola.py def hola(): print 'el programa se esta ejecutando directamente' def nohola(): print 'el programa se esta ejecutando desde otro programa' if __name__=='__main__': hola()else: nohola() #!/usr/bin/env python#print2.py import hola Ejecutalos y verás la diferencia
Extrax:
Muchas gracias, aora ya lo entiendo, o eso creo... :rolleyes: , si me equiboco corregirme.
Lo que viene a ser es que si el modulo donde esta el codigo, es el principal y no tiene ningun modulo importado, __name__ es igual a "__main__", sin embargo, si el modulo que estamos usando corre a cuenta de otro modulo que a sido importado (import hola), __name__ no es igual a "__main__" .
saludos :good:
RadicalEd:
Exacto.
Navegación
[*] Página Anterior
Ir a la versión completa