Secuencia/proceso de ejecución del código Python

1. El programa python se ejecuta secuencialmente de arriba a abajo, mientras que main() en C++ es el punto de entrada del programa.

Por ejemplo, el siguiente código, el resultado es como se muestra en los comentarios. Aunque aquí hay una función principal , la primera salida no es "principal" sino "prueba1" :

 #test1

 print ("test1")

 def Fun():

     print ("Fun")

 def main():

     print ("main")

     Fun()

 if __name__ == '__main__':

     main()

 '''

 test1

 main

 Fun

 '''

2. Cuando un programa de python se ejecuta como un archivo py, el atributo de archivo __name__ es principal, cuando se importa como un módulo, el atributo de archivo __name__ es el nombre del archivo:

 #test.py

 def Fun():

     print ("Fun")

 if __name__ == '__main__':

     print ("main")

     Fun()

 '''

 main

 Fun

 '''

 

3. Resumen

En C++, la función principal se utiliza como punto de partida de la ejecución; en Python , el primer código que no es de definición de función ni de definición de clase sin sangría se ejecuta primero , como la primera línea del Ejemplo 1.

Para distinguir si un programa se ejecuta o llama activamente, Python introduce la variable __name__ . Cuando se llama al archivo, el valor de __name__ es el nombre del módulo. Cuando se ejecuta el archivo, __name__ es '__main__'

Por lo tanto, a menudo verá el código de otras personas escrito así , y también es una estructura de archivo típica de Python :

 #/usr/bin/env/ python            #(1) 起始行

 #"this is a test module"          #(2) 模块文档(文档字符串)

 import sys

 import os              #(3) 模块导入



 debug = True              #(4) (全局)变量定义

 class FooClass (object):

     'foo class'

     pass                           #(5) 类定义(若有)

 def main():

     'test function'

     foo = FooClass()

     if debug:

         print 'ran test()'         #(6) 函数定义(若有)

 if __name__ == '__main__':

     main()

Si el archivo se ejecuta automáticamente, es mejor escribirlo como el ejemplo anterior, no debe haber ningún código ejecutable antes de main , para que el programa comience desde main () y el flujo sea lógico.

Si el archivo se llama como un módulo, puede ejecutarlo secuencialmente de arriba a abajo sin escribir main ().

Supongo que te gusta

Origin blog.csdn.net/Dust_Evc/article/details/129885253
Recomendado
Clasificación